小编men*_*eni的帖子

T-SQL CASE子句:如何指定WHEN NULL

我写了一个类似这样的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

208
推荐指数
7
解决办法
43万
查看次数

标签 统计

t-sql ×1