0

MySQL中是否可以REPLACE使用字符串+下一个字符?类似LIKE下划线的东西。

例如,如果textcolumn 是 this: 12 13 14 14_B 15 14_A,则REPLACE全部14_*为空字符,替换后的文本应为: 12 13 14 15

4

1 回答 1

3

您将希望在 MySQL 中使用正则表达式 UDF 来执行此操作。关键成分是

  1. 正则表达式 UDF -在这里检查
  2. 正则表达式本身

如果您看到需要更换的其中 2 到 4 个,那么穷人的工作方法(SQL Fiddle):

SELECT *,IF(LOCATE('14_',B)+3<=Length(B),
         INSERT(B,LOCATE('14_',B),4,''),B) C
FROM
(
  SELECT *,IF(LOCATE('14_',A)+3<=Length(A),
           INSERT(A,LOCATE('14_',A),4,''),A) B
  FROM (
    SELECT *,IF(LOCATE('14_',x)+3<=Length(X),
             INSERT(X,LOCATE('14_',x),4,''),X) A
    FROM X
  ) Q1
) Q2

我只提供了 3 次替换,但您可以轻松扩展模式。仅包括最外层查询所需的基表中的列。

于 2012-10-22T20:50:40.050 回答