我有一個表,其中包含一個允許空值或空值的varchar列。如何檢查一列是否等於一個變量可爲空
我正在寫一個包含可以被分配到一個空值或者一個普通的字符串(非空)
是這樣的定義的變量的存儲過程:
declare @myvar varchar(50)
現在的我m試圖編寫一個查詢,該查詢返回列等於此變量的行,或者它爲空或空。到目前爲止,我認爲這是去上班:
select * from mytable where mycolumn [email protected] or mycolumn =''
但是,如果列爲空並且變量爲null,將不返回任何值。
我知道我可以使它工作做這樣的事情:
select * from mytable where (mycolumn = @myvar and mycolum is not null) or mycolumn is null or mycolumn =''
是否有這樣做的更好的辦法?
PS:我寧願不要做ANSI_NULLS OFF
感謝
謝謝配合。我會將您的答覆標記爲已回答,因爲您還提供了替代方案。 – LEM 2012-03-16 17:35:49