gpt4 book ai didi

mysql - 连接同一表的两列,忽略空值。数据库

转载 作者:行者123 更新时间:2023-11-29 21:38:46 26 4
gpt4 key购买 nike

我正在尝试连接同一个表的两列,但是,如果存在空值(在我的情况下它们位于第二列),我无论如何都想获取我感兴趣的行,而不是将null 值,我会输入 ''。我要加入的列是 SurnameName。换句话说,我尝试使用:

SELECT CONCAT(CSurname, ' ', CName)
FROM Client;

这样,如果我有一个有效的姓氏值和一个空值,我会获得 null。我使用 MySql,谢谢。

最佳答案

如果你想避免前导空格的问题,那么最简单的方法可能是CONCAT_WS():

SELECT CONCAT_WS(' ', CSurname, CName)
FROM Client;

与大多数其他函数不同,CONCAT_WS() 忽略 NULL 值(分隔符除外),从而大大简化了此逻辑 - 特别是当您使用两个以上时列。

没有它,等效逻辑可以表示为:

SELECT CONCAT(COALESCE(CONCAT(CSurname, ' '), ''), COALESCE(CName, ''))

关于mysql - 连接同一表的两列,忽略空值。数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34708837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com