我很难在值之后获得逗号,但此查询在值
之前添加ipaddress = CONCAT(IFNULL(ipaddress,''), ',$ipaddress')
该字段的默认值为NULL
即使我也试过这个,但结果是一样的。之前添加逗号。
ipaddress = CONCAT(IFNULL(ipaddress,''), ',', '$ipaddress')
答案 0 :(得分:2)
使用CONCAT_WS
功能。它在项之间插入分隔符,但忽略空项。
ipaddress = CONCAT_WS(',', ipaddress, '$ipaddress')
因此,如果ipaddress
最初为null,则会被忽略,因此不会将分隔符放在它与添加的$ipaddress
值之间。
但是,您需要执行此操作表明您将逗号分隔列表放入SQL列。这是非常糟糕的设计。您应该规范化您的架构,并将其移动到一个单独的表中,每个值都有一个单独的行,以及一个与该表相关的外键。
答案 1 :(得分:0)
如果ipaddress
为NOT NULL
,则字符串格式正确。
E.g. 127.0.0.1,127.0.0.2
如果ipaddress
IS NULL
,字符串将显示为
,127.0.0.2
您可以使用MySQL的TRIM功能来解决此问题。
TRIM(LEADING ',' FROM CONCAT(IFNULL(ipaddress,''), ',', '$ipaddress'))
TRIM(LEADING ',' FROM CONCAT(IFNULL(NULL,''), ',', '127.0.0.2'))
希望这有帮助!