我有一个表,其中包含一个允许空值或空值的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