T-SQL CASE 子句:如何指定 WHEN NULL [英] T-SQL CASE Clause: How to specify WHEN NULL

查看:38
本文介绍了T-SQL CASE 子句:如何指定 WHEN NULL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I wrote a T-SQL Statement similar like this (the original one looks different but I want to give an easy example here):

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

该语句没有任何语法错误,但 case 子句总是选择 ELSE 部分 - 如果 last_name 为空.但为什么?

This Statement does not have any syntax errors but the case-clause always chooses the ELSE-part - also if the last_name is null. But Why?

我想做的是统一first_name和last_name,但是如果last_name为null,则整个名字为null:

What I want to do is to unite first_name and last_name, but if last_name is null the whole name becomes null:

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

你知道问题出在哪里吗?

Do you know where the problem is?

推荐答案

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

这篇关于T-SQL CASE 子句:如何指定 WHEN NULL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆