如何在SQL中删除列值前缀字符并更新表中对应记录
操作方案
核心思路
找到Fruit字段中固定分隔符-的位置,截取分隔符之后的所有内容即可实现前缀移除。
重要提醒:所有更新操作执行前,请先运行下方的查询验证语句确认结果符合预期,也可提前备份全表数据,避免误操作导致数据损失。
不同数据库实现语法
1. MySQL
查询验证:
SELECT Fruit, SUBSTRING(Fruit, LOCATE(' - ', Fruit) + 3) AS new_fruit FROM Fruit;
执行更新:
UPDATE Fruit SET Fruit = SUBSTRING(Fruit, LOCATE(' - ', Fruit) + 3) WHERE Fruit LIKE '% - %';
2. SQL Server
查询验证:
SELECT Fruit, SUBSTRING(Fruit, CHARINDEX(' - ', Fruit) + 3, LEN(Fruit)) AS new_fruit FROM Fruit;
执行更新:
UPDATE Fruit SET Fruit = SUBSTRING(Fruit, CHARINDEX(' - ', Fruit) + 3, LEN(Fruit)) WHERE Fruit LIKE '% - %';
3. PostgreSQL / Oracle
查询验证:
SELECT Fruit, SUBSTRING(Fruit FROM strpos(Fruit, ' - ') + 3) AS new_fruit FROM Fruit;
执行更新:
UPDATE Fruit SET Fruit = SUBSTRING(Fruit FROM strpos(Fruit, ' - ') + 3) WHERE Fruit LIKE '% - %';
内容的提问来源于stack exchange,提问作者Skullomania
相关产品推荐
相关产品推荐

