2011-10-10 30 views
1

我需要測試,如果在某個列表存在的變量,所以我使用如何測試sql server觸發器中的變量?

if @someVar in ('value1','value2','value3',) 
    begin 

    end 

但這不起作用,永遠不會執行if語句體即使@someVar是等於一個值。

能不能幫,請,非常感謝你

回答

1

這並在那裏工作必須在你的代碼中的一些其他問題。

declare @someVar varchar(50) = 'value1' 

if @someVar in ('value1','value2','value3') 
    begin 
    print 'yes' 
    end 

返回yes

你分配一個值@someVar?你忘了在變量聲明中給它一個長度,以便將它默認截斷爲1個字符?

+0

是否區分大小寫,我嘗試了所有^^我覺得很奇怪 – joe

+0

@joe - 區分大小寫取決於數據庫的排序規則。你需要發佈更多的代碼。 –

+0

也許你需要分享整個觸發器,以便我們可以看到真正發生了什麼。 – HLGEM