CONCAT_WS (mysql/mariadb) 忽略的分隔符选择

choice of separator ignored by CONCAT_WS (mysql/mariadb)

我可能遗漏了一些简单的东西,但似乎我为 CONCAT_WS 选择的分隔符在更复杂的查询中似乎不起作用。

首先我自己测试了CONCAT_WS:

SELECT CONCAT_WS(' / ', 'a', 'b', 'c') AS `test`;

返回:

test
a / b / c

然后我在我打算使用的 GROUP_CONCAT 中尝试了它:

SELECT GROUP_CONCAT( CONCAT_WS(' / ', 'a', 'b', 'c') ) AS `test`;

返回:

test
a / b / c

好的,所以我在对实时数据的正确查询中尝试了它:

SELECT `Box Barcode`,`Title`,`Start Date`,`End Date`,`Offsite Indicator`,`MIA`,
GROUP_CONCAT( CONCAT_WS(' / ',`Description`) ) AS `Contents` 
FROM `boxes` 
GROUP BY `Box Barcode` ORDER BY `Box Barcode` ASC ;

返回了正确的结果,除了使用逗号而不是 / 例如,这是一行结果:

Box Barcode  Title     Start Date  End Date    Offsite Indicator  MIA    Contents
C5500501127  PPS AMEX  30/06/2002  30/06/2002  TRUE               FALSE  PPS AMEX,PPS AMEX,PPS DINERS,PPS DINERS,PPS LIABILITIES,PPS PROPERTY PLAN AND EQUIPMENT,PPS ASSETS

几个小时的谷歌搜索没有帮助。任何人都知道我哪里出错了?这是通过 Debian 服务器上的 PhpMyAdmin Web 界面 运行 MariaDB (libmysql - 5.5.53)。

可能 GROUP_CONCAT 也有分隔符。

SELECT GROUP_CONCAT( CONCAT_WS(' / ',`Description`) ) AS `Contents`  

将导致 , 分离

这里是:

GROUP_CONCAT( CONCAT_WS(' / ',`Description`) SEPARATOR ' / ')

将使 GROUP_CONCAT 具有 / 分隔符