gpt4 book ai didi

mysql - MySQL CONCAT IFNULL 如何处理两个以上的值?

转载 作者:可可西里 更新时间:2023-11-01 06:55:50 30 4
gpt4 key购买 nike

我需要 CONCAT 两个字段(如果它们都存在)并在第二个字段周围添加括号。否则我只需要列出第一个字段。

这是简单的版本:

SELECT id, CONCAT(name,' (',nickname,')') as name FROM user;

只要名字和昵称都存在,你应该得到如下结果:

1 | Adam (Alpha Dog)
2 | Bob (Bobby)
3 | Charles (Charlie)

但是如果没有昵称,它就会将整个内容作为 null 跳过。例如:id 4,姓名Doug,昵称null给出结果:

4 | null

我希望看到的是仅列出名称...像这样:

4 | Doug

所以我开始研究CONCAT IFNULL。但我很难把它做好。你能帮忙吗?

以下是我尝试过的一些示例:

SELECT id, CONCAT(IFNULL(name, ' (', nickname, ')', name) as name FROM user;
SELECT id, CONCAT(name, IFNULL(' (', nickname, ')')) as name FROM user;

最佳答案

您可以使用跳过空字符串的 CONCAT_WS:

SELECT id, CONCAT_WS(' ', name, concat('(',nickname,')')) as name FROM user;

关于mysql - MySQL CONCAT IFNULL 如何处理两个以上的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866746/

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