我需要编写一个查询,在多个列中找到一个值,然后更新那些存在该值的列。
需要替换的值在以 _m1 结尾的列中
示例表:
o_id a_m1 a_m2 b_m1 b_m2 1 bb cc bb cc 2 cc 空 bb cc
我需要在以 _m1 结尾的列中找到所有“cc”值,然后将这些列更新为“bb”
我需要编写一个查询,在多个列中找到一个值,然后更新那些存在该值的列。
需要替换的值在以 _m1 结尾的列中
示例表:
o_id a_m1 a_m2 b_m1 b_m2 1 bb cc bb cc 2 cc 空 bb cc
我需要在以 _m1 结尾的列中找到所有“cc”值,然后将这些列更新为“bb”
UPDATE TABLENAME
SET a_m1=REPLACE(a_m1,'cc','bb'),
b_m1=REPLACE(b_m1,'cc','bb')
或者
SELECT a_m1 = CASE WHEN a_m1='cc' THEN 'bb' ELSE a_m1 END,
b_m1 = CASE WHEN b_m1='cc' THEN 'bb' ELSE b_m1 END
笔记:
它们做两件不同的事情——我不确定你想要什么。
它们都只修改 a_m1 和 b_m1。
首先,字符串中cc
出现的每个位置都替换为bb
在第二个中,如果值完全相等,cc
则将其更改为bb
否则没有更改。