我写了一个类似这样的T-SQL语句(原始的看起来很不一样,但是我想在这里给出一个简单的例子):

SELECT first_name +
    CASE last_name WHEN null THEN 'Max' ELSE 'Peter' END AS Name
FROM dbo.person

该语句没有任何语法错误,但是大小写总是选择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

您知道问题出在哪里吗?

最佳答案

CASE WHEN last_name IS NULL THEN '' ELSE ' '+last_name END

10-06 12:51
查看更多