You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL替换数据表指定列中的全部特定值?

正确实现方法分两种场景:

1. 仅查询时替换显示(不修改表中实际数据)

你原来的SELECT语句存在语法错误,列名和REPLACE函数之间缺少逗号,而且最好给替换后的列起别名方便识别。正确写法:

-- 同时显示原列和替换后的列
SELECT pet, REPLACE(pet, 'dog', 'cat') AS updated_pet
FROM Animals;

-- 只显示替换后的列(可指定别名和原列名一致)
SELECT REPLACE(pet, 'dog', 'cat') AS pet
FROM Animals;

2. 永久修改表中的数据(把所有'dog'改成'cat')

如果你的需求是真正修改表内的存储数据,SELECT语句做不到,必须用UPDATE语句:

UPDATE Animals
SET pet = REPLACE(pet, 'dog', 'cat')
WHERE pet = 'dog'; -- 加上WHERE条件只更新pet为'dog'的行,提升执行效率

如果不加WHERE,会遍历表中所有行,虽然结果正确,但对大表来说没必要,建议加上。

内容的提问来源于stack exchange,提问作者CCast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:15:33