表格中有很多行,字符串中隐藏着错误的条形码。
我需要对这些进行更新以用fd>替换任何内容;隐藏在字符串中的fd&gt ;; 1。
但这一行可能有类似
的内容^ XA ^ XFB:trgt001.zpl ^ FS ^ FN2 ^ FDLondon Oxford ^ FS ^ FN4 ^ FD ^ FS ^ FN6 ^ FDLONDON ^ FS ^ FN8 ^ FDW1C 1DN ^ FS ^ FN100 ^ FD&gt ;; 110032730214 ^ FS ^ FN1 ^ FDSH
所以我基本上只在字符串中插入一个额外的1,只要有FD&gt ;;
请问这可能吗?
答案 0 :(得分:0)
使用REPLACE功能。
update YourTable t
set
t.Barcode = replace(t.Barcode, 'FD>;', 'FD>;1')
请注意,此函数(通常与字符串一样)区分大小写,因此它将替换'FD>;'
但不会替换'fd>;'
。如果你也想这样做,你可以进行多次替换。
答案 1 :(得分:0)
UPDATE YOUR_TABLE t
SET T.COLUMN = REPLACE(T.COLUMN, 'FD>;', 'FD>;1')
答案 2 :(得分:0)
您可以使用REGEXP_REPLACE来进行不区分大小写的替换(下面的字符串具有不同的' FD的案例组合;>':
with data as
( select '^XA^XFB:trgt001.zpl^FS^FN2^FDLondon Oxford ^FS^FN4^FD^FS^FN6^FDLONDON^FS^FN8^FDW1C 1DN^FS^FN100^FD>;110032730214^FS^FN1^FDSH' string from dual
union
select '^XA^XFB:trgt001.zpl^FS^FN2^FDLondon Oxford ^FS^FN4^FD^FS^FN6^FDLONDON^FS^FN8^FDW1C 1DN^FS^FN100^fD>;110032730214^FS^FN1^FDSH' string from dual
union
select '^XA^XFB:trgt001.zpl^FS^FN2^FDLondon Oxford ^FS^FN4^FD^FS^FN6^FDLONDON^FS^FN8^FDW1C 1DN^FS^FN100^fd>;110032730214^FS^FN1^FDSH' string from dual
union
select '^XA^XFB:trgt001.zpl^FS^FN2^FDLondon Oxford ^FS^FN4^FD^FS^FN6^FDLONDON^FS^FN8^FDW1C 1DN^FS^FN100^Fd>;110032730214^FS^FN1^FDSH' string from dual
)
select regexp_replace(string, 'FD>;', 'FD>;1', 1, 0, 'i') from data;