【发布时间】:2018-05-14 23:02:53
【问题描述】:
如何删除列中非单词之间的所有空格? 我有一列包含这样的值:
"This Is My - Value"
"This Is My- Value"
"This Is My/ Value"
"This Is My- Value (Other -Value)"
如何删除非单词之间的所有空格,如下所示:
"This Is My-Value"
"This Is My-Value"
"This Is My/Value"
"This Is My-Value(Other-Value)"
试过了,还是不行:
SELECT REGEXP_REPLACE(I,"\s*([^a-zA-Z\d\s:])\s*","\\1") FROM registros;
【问题讨论】:
-
引号之间的以下字符“()-/\”
-
这是mysql还是oracle?我不相信 mysql 有 REGEXP_REPLACE 功能。
-
MySQL 正则表达式没有像
\s和\d这样的转义序列。 -
查看dev.mysql.com/doc/refman/5.7/en/regexp.html 获取 MySQL 中正则表达式语法的文档。
-
@clinomaniac,MariaDB 实现了一个 REGEXP_REPLACE() 函数,或多或少类似于 Oracle 和 PostgreSQL 中的函数。 MySQL 没有这个功能。
标签: mysql mariadb regexp-replace