我希望sql server中的函数类似于ISNULL(),除了它应该检查表达式为null和空。
如果第一个参数为null或为空,则返回第二个。
有人可以帮助我吗?
答案 0 :(得分:6)
您可以使用NULLIF
和ISNULL
:
SELECT ISNULL(NULLIF(@parameter, ''), @parameter2)
答案 1 :(得分:2)
NULLIF
将返回NULL。和
如果第一个值为NULL,ISNULL
将返回第二个值。
DECLARE @Input varchar(10) =NULL;
--DECLARE @Input varchar(10) ='';
--DECLARE @Input varchar(10) ='Good';
SELECT ISNULL(NULLIF(@Input,''),'Input is null or blank')
答案 2 :(得分:1)
您可以使用COALESCE
:
例如:
SELECT COALESCE(First,Second,Third,'')
From TableName
COALESCE
将返回列表中的第一个非空值。阅读更多here
修改强>
要检查emptystring,您可以使用CASE
:
SELECT CASE WHEN COALESCE(Field,'')='' THEN 'This is NULL or Empty' END