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