sql - 如何连接多个字段并删除空槽的重复分隔符

标签 sql mysql concatenation

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

一个例子可以是:

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

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

最佳答案

这样做:

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

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

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

关于sql - 如何连接多个字段并删除空槽的重复分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3924657/

相关文章:

sql - 使用 '=<' 和 '>=' 而不是使用 'between' 比较两个日期时,精度是否有差异?

c# - 将数据插入数据库

video - 如何连接具有不同属性的ffmpeg中的视频?

SQL Server 代理作业历史记录 - 仅删除一天

php - 从sql迁移到mysqli

sql - 为什么 SELECT * WHERE id=1 ORDERBY at LIMIT 1 不像简单的二进制搜索那样在 O(log n) 中执行?

mysql - 如何根据关键字对结果进行排序

mysql - 如何在连接表上查询 COUNT 并返回 count=0 和 count>0 的记录

php - Mysql查询CONCAT改变输出

excel - 如何连接 2 列并使用 VBA 保持文本样式?