一尘不染

如何concat_ws多个字段并删除空插槽的重复分隔符

sql

当您CONCAT_WS(' ',field1,field2,field3)在MySQL中并且如果字段之一为空而不是null时,您将获得多个分隔符。

一个示例可以是:

John[space][space][space]Doe[space]III.

如何确保只有一个分隔符。


阅读 299

收藏
2021-03-17

共1个答案

一尘不染

像这样做:

CONCAT_WS(' ', NULLIF(field1, ''), NULLIF(field2, ''), NULLIF(field3, ''));

CONCAT_WS将跳过任何空值,也将使用NULLIF任何空值。

注意:您不能用正则表达式替换。MySQL不支持它。

2021-03-17