You need to enable JavaScript to run this app. 如何在SQL中为数值型属性补充前置0 使其全部统一为10位长度
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL中为数值型属性补充前置0 使其全部统一为10位长度

问题解答

完全可以通过SQL查询实现该需求,不需要在Excel中操作,不同主流数据库均有内置函数可以快速完成数值型ID前导补0、统一长度为10位的需求。

各主流数据库实现代码
  • MySQL
    使用LPAD函数,先将数值型ID转为字符串再补位:
SELECT LPAD(CAST(id AS CHAR), 10, '0') AS formatted_id FROM 你的表名;
  • PostgreSQL
    同样支持LPAD函数,语法如下:
SELECT LPAD(id::TEXT, 10, '0') AS formatted_id FROM 你的表名;
  • SQL Server
    通过字符串拼接+截取的方式实现:
SELECT RIGHT('0000000000' + CAST(id AS VARCHAR(10)), 10) AS formatted_id FROM 你的表名;
  • Oracle
    使用TO_CHAR格式化函数直接指定输出格式:
SELECT TO_CHAR(id, 'FM0000000000') AS formatted_id FROM 你的表名;

其中格式符前缀FM用于去除默认生成的前置空格。

注意事项
  • 补0后的输出结果为字符串类型,不再是数值类型,若需要永久保存该结果,建议新增字符串类型字段存储格式化后的ID。
  • 若存在ID本身长度超过10位的情况,以上代码会截断超出部分,建议先执行SELECT id FROM 你的表名 WHERE LENGTH(CAST(id AS CHAR)) >10校验是否存在超长ID,再正式使用格式化语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 22:09:03