在 MySQL 的列中为某些值添加前导零

新手上路,请多包涵

我有一个 CSV 文件以 CSV 格式发送给我。感兴趣的字段是 8 位数字。其中一些以 0 开头。该字段以数字形式发送。所以,我现在已经去掉了一些前导零。

我已经将该字段转换为 varchar。我现在需要这样做:

我现在有这个:

 12345678
1234567

我需要这个:

 12345678
01234567

原文由 mpg 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 470
2 个回答

将字段更改回数字并使用 ZEROFILL 保留零

或者

使用 LPAD()

 SELECT LPAD('1234567', 8, '0');

原文由 John Conde 发布,翻译遵循 CC BY-SA 3.0 许可协议

请记住,如果您的值有更多符号,即 LPAD 长度,MySQL 会将其削减到该长度,因此您应该为此添加额外的 IF 并进行长度检查。

 IF(LENGTH(column)<8,LPAD(column,8,0),column)

原文由 zomers 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题