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

Pen*_*m10 14 mysql sql concatenation

当你CONCAT_WS(' ',field1,field2,field3)在MySQL中,如果其中一个字段为空,不为空,你会得到多重分隔符.

一个例子可以是:

John[space][space][space]Doe[space]III.
Run Code Online (Sandbox Code Playgroud)

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

Ali*_*aru 24

像这样做:

CONCAT_WS(' ', NULLIF(field1, ''), NULLIF(field2, ''), NULLIF(field3, ''));
Run Code Online (Sandbox Code Playgroud)

CONCAT_WS将跳过任何空值,并使用NULLIF任何空值.

注意:你不能正则表达式替换.MySQL不支持它.