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

Posted

技术标签:

【中文标题】如何 concat_ws 多个字段并删除空槽的重复分隔符【英文标题】:How to concat_ws multiple fields and remove duplicate separators for empty slots 【发布时间】:2011-04-24 21:22:39 【问题描述】:

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

一个例子可以是:

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

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

【问题讨论】:

【参考方案1】:

这样做:

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

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

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

【讨论】:

以上是关于如何 concat_ws 多个字段并删除空槽的重复分隔符的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL 如何查找并删除重复数据

PostgreSQL 如何查找并删除重复数据

如何把SQL数据表中一个字段的值按逗号分隔存入另外一个表,并删除重复记录?

concat和concat_ws

mysql concat_ws 与 concat 多字段模糊匹配应用

如何仅保留数据字段的最高值行并删除其他行[重复]