我写了一个类似这样的 T-SQL 语句(原来的看起来不同,但我想在这里举一个简单的例子):
SELECT first_name +
CASE last_name WHEN null THEN 'Max' ELSE 'Peter' END AS Name
FROM dbo.person
此语句没有任何语法错误,但 case-clause 始终选择 ELSE 部分 - 即使 last_name 为空。但为什么?
我想要做的是联合 first_name 和 last_name,但如果 last_name 为空,则整个名称变为空:
SELECT first_name +
CASE last_name WHEN null THEN '' ELSE ' ' + last_name END AS Name
FROM dbo.person
你知道问题出在哪里吗?