我想保存更新请求。所以不要这样做:
update table set column = REPLACE(column,'abc','xyz');
update table set column = REPLACE(column,'def','uvw');
...
我想做这样的事情:
UPDATE table
SET column =
CASE
WHEN column like '%"abc":%' THEN REPLACE(column,'"abc":','"xyz":')
WHEN column like '%"def":%' THEN REPLACE(column,'"def":','"uvw":')
...
END
WHERE COLUMN2 = 'something';
但这不是我需要的那种循环。它只替换它找到的第一个匹配项。
我知道我也可以做这样的事情:
update table
set column = REPLACE(REPLACE(column,'abc','xyz'),'def','uvw')
where COLUMN = 'something';
但我不知道他们每个人的表现。
您可以为嵌套替换尝试不同的格式:
update table
set column = REPLACE(
REPLACE(
REPLACE(
REPLACE(column, 'abc','xyz'),
'def','uvw'),
'zxc','acv'),
'xcv','bvn')
where COLUMN = 'something';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句