You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在REPLACE命令中使用LIKE实现MySQL引号内数字替换需求

问题解答

结论

不能直接在MySQL的REPLACE函数中使用LIKE实现该需求。REPLACE是精确字符串替换函数,仅支持替换固定的明文内容,无法适配LIKE的通配符匹配逻辑,也不能覆盖所有动态变化的双引号包裹数字的场景。

实现方案

MySQL 8.0及以上版本可以使用内置的REGEXP_REPLACE正则替换函数实现需求,正则规则可以精准匹配所有双引号包裹的数字及后续多余空格,批量替换为空。

查询验证效果语句

SELECT 
  col,
  REGEXP_REPLACE(col, '"[0-9]+"\\s*', '') AS res
FROM 你的表名;

正则说明:

  • "[0-9]+":匹配所有双引号包裹的数字串
  • \\s*:匹配数字串后紧跟的任意数量空格,避免替换后残留多余空格

直接更新表数据语句

如果确认效果符合预期,可以执行UPDATE语句直接修改列内容:

UPDATE 你的表名
SET col = REGEXP_REPLACE(col, '"[0-9]+"\\s*', '');

低版本兼容说明

如果你使用的是MySQL 8.0以下版本,没有内置正则替换函数,不建议在数据库层强行实现该需求,可选择升级MySQL版本,或者在业务应用层读取数据后处理再写回。

内容的提问来源于stack exchange,提问作者s241k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 07:06:01