我有一个包含一些基本地址数据的表格:
如果填写了 Street 和 Postcode/Town,我希望 Street 和 Postcode/Town 用逗号分隔。
从地址中选择 Concat(coalesce(Street,''),", ", coalesce(Postcode,''),"",coalesce(Town,''))
如果街道不可用,我只想用空格分隔邮政编码和城镇,如果连邮政编码都没有,我只想要名字(如果只是缺少邮政编码,我想有“街道、城镇”)
我如何设计查询,以便它考虑可用的内容以及需要放置逗号和空格的位置?
最佳答案
使用内置的 concat_ws()
最简单的方法:
select concat_ws(', ', Street, Postcode, Town)
from adresses;
如果任何参数为 NULL
(分隔符除外),则 concat_ws()
会简单地跳过该字符串和相关的分隔符。
关于mysql - 智能聚结,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24918637/