MySQL中是否可以REPLACE
使用字符串+下一个字符?类似LIKE
下划线的东西。
例如,如果text
column 是 this:
12 13 14 14_B 15 14_A
,则REPLACE
全部14_*
为空字符,替换后的文本应为:
12 13 14 15
您将希望在 MySQL 中使用正则表达式 UDF 来执行此操作。关键成分是
如果您只看到需要更换的其中 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 次替换,但您可以轻松扩展模式。仅包括最外层查询所需的基表中的列。