如何在sql server中编写类似于ISNULL的IsNullOrEmpty方法

时间:2015-08-19 07:42:45

标签: sql-server isnull isnullorempty

我希望sql server中的函数类似于ISNULL(),除了它应该检查表达式为null和空。

如果第一个参数为null或为空,则返回第二个。

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:6)

您可以使用NULLIFISNULL

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