我有一个表,其中包含标记为地址 | 的单元格中的一堆地址。城市。 我正在尝试将完整地址合并为通用的“地址、城市”格式。
有时,在我的数据库中,我的位置单元格之一是空的。因此,我在我的 concat 行中执行了一个 IFNULL,但我以前导或尾随 ',' 结尾。 我已尝试将“修剪”功能与我的连接一起使用,但有时仍会出现尾随“,”。
我是这样写的
SELECT TRIM(BOTH ',' FROM CONCAT(IFNULL(address,''), ', ', IFNULL(city,''))) FROM locals
知道为什么我会有这种行为吗?有没有更好的方法来构建我的 concat 语句?
最佳答案
我认为您的查询只是在 BOTH 语句中的逗号后缺少一个空格。这似乎对我有用
SELECT TRIM(BOTH ', ' FROM CONCAT(IFNULL(address,''), ', ', IFNULL(city,''))) FROM locals;
关于带有修剪的mysql concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094622/