SQL中的名字,姓氏,太复杂了? [英] FirstName, LastName in SQL, too complex?

查看:29
本文介绍了SQL中的名字,姓氏,太复杂了?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个 SQL 看起来很复杂,当其中一个或两个字段可以为 NULL 时,有没有更简单的方法来获取 FirstName、LastName?

This SQL seems complex, is there an easier way to get FirstName, LastName when one or both of the fields can be NULL?

SELECT COALESCE(LastName,'')+
       CASE WHEN LastName+FirstName IS NOT NULL THEN ', ' END+
       COALESCE(FirstName,'') AS Name
FROM Person

推荐答案

怎么样

SELECT COALESCE(LastName + ', ' + FirstName, 
                LastName, FirstName) Name
FROM Person

如果 firstnamelastname 为 null,则整个第一个表达式(带有 ,)变为 null,强制合并检查,第二个,lastname 单独,然后如果 lastname 为空,最后,firstname 单独.

if firstname or lastname is null the entire first expression (with the ,), becomes null, forcing the coalesce to examine, second, the lastname alone, and then if lastname is null, finally, the firstname alone.

这篇关于SQL中的名字,姓氏,太复杂了?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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