2

我在需要替换的字段中有一些文本,但问题是它附加了一个数字 ID,我需要将其删除并替换为我的 MySQL 触发器中的值。

我的领域是这样的:

[["Randomthinghere","anotherranodm4234","pitahayas","apples","bananas","apricots","grapes","kiwifruit"],["ACRE_PRC119_ID_9","randomthing","randomthing2"]]

我需要用 ACRE_PRC119 替换 ACRE_PRC119_ID_9 的值,但它并不总是 ID_9,它可以是任何合理的小数值。

我已经搜索并通读了手册,老实说,我不确定MySQL中有什么解决方案,如果有的话,因为我无法应用通配符来替换。如果任何解决方案需要 REGEXP,我可以做类似 REGEXP的事情,^.*[[.".]]ACRE[[._.]]PRC119[[._.]]ID[[._.]]{[0-9]{1,9}}.*$';遗憾的是你无法捕获结果。

4

1 回答 1

0

干得好

set @var:='[["Randomthinghere","anotherranodm4234","pitahayas","apples","bananas","apricots","grapes","kiwifruit"],["ACRE_PRC119_ID_9"]]';
select concat(substring(@var,1,locate('ID_',@var)-2),'"]]') ;
于 2012-07-30T06:48:07.737 回答