SQL - 如何替换/修改多行中的字符串?

时间:2015-07-22 10:28:39

标签: mysql sql regex

我在数据库中有很多行,其中“info”列是ie。 “尺寸,英寸:12x13 <br>材料:纸张<br>金额:100件”。现在我需要查找/选择具有此字符串部分“Size,inch:”的所有行,并将这些行的列替换/修复为ie。 “尺寸:12x13英寸<br>材料:纸张<br>金额:100件”

我在世界上如何为此编写一个sql语句?我需要一些魔法regexp for sql吗?如何在多行中替换和修改字符串的各个部分?

编辑:数字可以是任何数字(即12x13或44x55或77x88x99等)因此,这些数字必须有某种通配符吗?

我需要将“尺寸,英寸:'任何数字之后的任何数字'”更改为“尺寸:'任意数字'以后'以后'。”

2 个答案:

答案 0 :(得分:1)

update mytable set info=REPLACE ( info , 'Size, inch: 12x13 ', 'Size: 12x13 inch' )
where info like '%inch:12X13%'

答案 1 :(得分:0)

也许这会奏效:

update table t
    info = replace(replace(info, 'Size inch:', 'Size:'), '<br>Material', ' inch<br>Material')
    where info like 'Size inch:%<br>Material%';

注意:这假定'Size inch''<br>Material'仅在每个字符串中出现一次。