gpt4 book ai didi

mysql - 如何在选择期间合并、连接和忽略空值? MySql

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:36 25 4
gpt4 key购买 nike

我的表是这样的:

Id | Name | ph_office | ph_home   
1 | ab | 111 | NULL
2 | cd | NULL | 222
3 | ef | 333 | 444
4 | gh | NULL | NULL

我想将相应列的名称附加到相应的值。像这样:

Id | Name | phone   
1 | ab | phone_office: 111
2 | cd | phone_home: 222
3 | ef | phone_office: 333, phone_home: 444
4 | gh | NULL

我试过用

select id, Name, 
CONCAT('ph_office: ', COALESCE(ph_office,''),',','ph_home:',COALESCE(ph_home,'')) as phone
from contacts;

Id | Name | phone
1 | ab | ph_office: 111,ph_home:
2 | cd | ph_office:, ph_home: 222
3 | ef | ph_office: 333, ph_home: 444
4 | gh | ph_office:,ph_home

我想忽略空列。我不太擅长 case 语句。在mysql中怎么实现呢?

谢谢你的时间

最佳答案

使用CONCAT_WS():

select id, Name, 
concat_ws(', ',
concat('phone_office: ', ph_office),
concat('ph_home: ', ph_home)
) as phones
from contacts;

关于mysql - 如何在选择期间合并、连接和忽略空值? MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53101522/

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