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

如何编写SQL语句替换blist表serial_no字段的前4位字符

场景1:仅查询替换,不修改原表数据

根据你使用的数据库不同,可选对应兼容语法:

  • 全数据库通用写法(适用于serial_no固定替换前4位的场景):
SELECT CONCAT('xyz', SUBSTRING(serial_no, 5)) AS new_serial_no, city FROM blist;
  • MySQL 专属简化写法:
SELECT CONCAT('xyz', RIGHT(serial_no, LENGTH(serial_no) - 4)) AS new_serial_no, city FROM blist;
  • SQL Server 专属写法:
SELECT 'xyz' + SUBSTRING(serial_no, 5, LEN(serial_no) - 4) AS new_serial_no, city FROM blist;
  • Oracle 专属写法:
SELECT 'xyz' || SUBSTR(serial_no, 5) AS new_serial_no, city FROM blist;

场景2:修改原表存储的serial_no字段值

注意执行前建议先执行场景1的查询验证替换结果,或提前备份数据避免误操作:

UPDATE blist SET serial_no = CONCAT('xyz', SUBSTRING(serial_no, 5));

如果仅需要替换前缀为abcd的行,避免误伤其他前缀的数据,可增加WHERE过滤条件:

UPDATE blist SET serial_no = CONCAT('xyz', SUBSTRING(serial_no, 5)) WHERE serial_no LIKE 'abcd%';

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:45:04