SQL求助:如何替换指定列中含特定字符的部分内容
正确的SQL更新语句写法
你的问题出在两个关键点:
- REPLACE函数的第一个参数用了固定字符串
'F%',而非要更新的目标列a_col,导致所有行都被错误替换成'Z%' - 未添加WHERE条件过滤需要更新的行,会无差别修改所有数据
正确的UPDATE语句如下:
UPDATE a_tab SET a_col = REPLACE(a_col, 'F', 'Z') WHERE a_col LIKE '%F%';
语句说明:
REPLACE(a_col, 'F', 'Z'):指定对a_col列的每行值执行替换操作,将其中的字符'F'替换为'Z'WHERE a_col LIKE '%F%':仅筛选出包含字符'F'的行进行更新,避免无意义地修改不需要变动的数据
执行后即可得到你预期的结果:
AZA AZB AZC BTA BTB ATC
内容的提问来源于stack exchange,提问作者Button Press
相关产品推荐
相关产品推荐

