我想在 sql server 中具有类似于 ISNULL() 的功能,除了它应该检查表达式是否为空和空。
如果第一个参数为 null 或为空,则返回第二个。
有人能帮我吗?
我想在 sql server 中具有类似于 ISNULL() 的功能,除了它应该检查表达式是否为空和空。
如果第一个参数为 null 或为空,则返回第二个。
有人能帮我吗?
您可以使用NULLIF
和ISNULL
:
SELECT ISNULL(NULLIF(@parameter, ''), @parameter2)
NULLIF
如果传递的两个参数相同,将返回 NULL。如果
ISNULL
第一个值为 NULL,则返回第二个值。
DECLARE @Input varchar(10) =NULL;
--DECLARE @Input varchar(10) ='';
--DECLARE @Input varchar(10) ='Good';
SELECT ISNULL(NULLIF(@Input,''),'Input is null or blank')
您可以使用COALESCE
:
例如:
SELECT COALESCE(First,Second,Third,'')
From TableName
COALESCE
将返回列表中的第一个非空值。在这里阅读更多
编辑:
要检查空字符串,您可以使用CASE
:
SELECT CASE WHEN COALESCE(Field,'')='' THEN 'This is NULL or Empty' END