Oracle REGEXP_REPLACE函数匹配任意数字替换的技术咨询
解决方案
完全可以继续使用REGEXP_REPLACE函数,只需要调整正则表达式就能满足需求,这是最直接高效的方案。
调整后的更新语句
update my_table_name set column_name = REGEXP_REPLACE(column_name, '"MyValue":([0-9])', '"MyValue":2' ) WHERE column_id=1234;
正则说明
"MyValue":([0-9]):其中[0-9]用于匹配"MyValue":之后的任意单个0-9数字;如果需要匹配连续多个数字(比如"MyValue":123这类场景),可以改成"MyValue":([0-9]+)- 替换部分
"MyValue":2保持原有结构,把匹配到的内容替换为你需要的指定值(要换其他内容的话,修改:2即可)
补充说明
如果你的SQL环境不需要转义双引号(比如直接在Oracle客户端执行),可以把语句中的"替换为双引号,写法如下:
update my_table_name set column_name = REGEXP_REPLACE(column_name, '"MyValue":([0-9])', '"MyValue":2' ) WHERE column_id=1234;
内容的提问来源于stack exchange,提问作者MaxPayne999
相关产品推荐
相关产品推荐

