我正在 SQL Server 2008 数据库上执行 SELECT 语句。
SELECT Name, DOB, Address1, Address2, City, State, Zip
FROM Users
但是,如果上述任何列对于特定行恰好为空,我想将值 NA
放入该列中。
通常会返回:
SMITH^JOHN, 1/1/1980, 5140 N 1ST ST, NULL, NOWHERE, WA, 98221
DOE^JANE, 5/5/1970, NULL, NULL, NULL, NULL, NULL
我想要返回的是:
SMITH^JOHN, 1/1/1980, 5140 N 1ST ST, NA, NOWHERE, WA, 98221
DOE^JANE, 5/5/1970, NA, NA, NA, NA, NA
但是,我不想实际更新数据库。我只希望 SELECT 语句在结果为 NULL 时返回此静态值。
最佳答案
您想要使用COALESCE功能。
SELECT
Name
, DOB
, COALESCE(Address1, 'NA')
, COALESCE(Address2, 'NA')
, COALESCE(City, 'NA')
, COALESCE(State, 'NA')
, COALESCE(Zip, 'NA')
FROM Users
关于SQL Server 2008 - 当列为空时设置一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11231250/