【发布时间】:2019-02-21 04:01:30
【问题描述】:
我正在尝试通过添加“/”来regexp_replace() 以不带“/”结尾的列的所有值。
我可以通过使用这个语句得到正确的值(模式是用 PCRE 检查器测试的):
SELECT * FROM `table` WHERE `column` REGEXP("(?<=[^\/])$");
还有不匹配的:
SELECT * FROM `table` WHERE `column` REGEXP("(?<![^\/])$");
但是当语句是:
UPDATE `table` SET `column` = REGEXP_REPLACE(`column`, "(?<=[^\/])$", "/");
那么,不管我在第三个参数中设置什么值,都没有变化:
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1031 Changed: 0 Warnings: 0
【问题讨论】:
-
你试过类似
REGEXP_REPLACE(`column`, "^(.*[^/])$", "\\1/")的东西吗?
标签: regex replace mariadb pcre