没有用于字符转换的字符串输出



我有一个 Char(1( 可为空的列(区(,我想在 NULL 时输出"未分配";

我试过了

SELECT CASE District
WHEN NULL
THEN 'Not Assigned'
ELSE District
END AS District
,[Name]
,AgencyType
FROM cli_Agency

SELECT CASE CONVERT(VARCHAR, District)
WHEN NULL
THEN 'Not Assigned'
ELSE CONVERT(VARCHAR, District)
END AS District
,[Name]
,AgencyType
FROM cli_Agency

但显示的是 Null 而不是"未分配"。

只是一个语法问题

...
CASE WHEN District IS NULL THEN 'Not Assigned' ELSE District END AS District,
...

你也可以把它写成

IsNull(District,'Not Assigned') as District,

甚至

coalesce(District,'Not Assigned') as District,

最新更新