我有一个带有分号分隔值的表格列,如下所示:
table1.ID | table1.column1
-----------------------------------------------------
1 | test1=aaa;test2=bbb;test3=ccc;
2 | test1=akkaa;test2=bkjkjb;test3=cckjklc;
3 | test1=ajaa;test2=bjhjbb;test3=sss;
我需要移除所有test2=xxxx
,其中xxxx
可以是任何值。
我启动了以下需要完成的查询;我如何指定给定的模式/表达式?
UPDATE table1
SET column1 = Replace(column1, 'test2=', '')
WHERE column1 Is Not Null;
提前致谢
答案 0 :(得分:1)
对于MSSQL:
尝试此查询:(我没有使用任何模式[我不知道可能]。我所做的是替换test2 =的字符串内容;使用空字符串.CharIndex函数是用于定位Test2和test3位置。)
UPDATE table1 SET Column1 =
REPLACE(Column1, substring(Column1, CharIndex('test2=', Column1),
(CharIndex( 'test3=', Column1) - CharIndex('test2=', Column1))), '')
答案 1 :(得分:0)
for oracle:
update table1
set column1=substr(table1.column1,1,instr(table1.column1,';',1,1)-1)||substr(table1.column1,instr(table1.column1,';',1,2));
commit;