我有一个SQL Server 2005表,其中包含一个字符串列,其中空值有时存储为NULL
,其他时间存储为空字符串。
我在这个列上做SELECT DISTINCT
,我得到了所有不同的值+ NULL +空字符串。但我想要检查值是否为NULL并返回一个空字符串。因此,结果集将是所有不同的值+空字符串(如果任何值为null或空字符串)。
但是如何在SELECT语句中执行此操作?
答案 0 :(得分:37)
在SQL Server Books Online中查看ISNULL()。
语法:
ISNULL ( check_expression , replacement_value )
示例:
Select ISNULL(myfield1,'') from mytable1
答案 1 :(得分:4)
查看Coalesce函数。它返回传入的第一个非null
值。
COALESCE( myValue , '' )
如果它不为null,则返回myValue,如果是,则返回空字符串(''
)。
它比使用许多ISNULL()
和IF
子句更简洁,因此更容易阅读。
答案 2 :(得分:2)
SELECT DISTINCT ISNULL(columnname, '') FROM table WHERE ...