首页 > 解决方案 > SQL如何添加前导0

问题描述

任何帮助将不胜感激。我对 mySQL 很陌生,并且认为必须有一种更简单的方法来更新我的数据库。

所以我的问题是我有许多没有前导零的记录,但我需要任何记录中的字符总数为 5。

例如 6930 实际上应该是 06930

我遇到了这段代码,但我无法让它正常工作,谁能指出我正确的方向。

 UPDATE `it_asset_register`.`tab_id_master` 
 SET tab_id_master.ID = LEFT('00000', 5-LEN(tab_id_master.ID)) +    tab_id_master.ID
 WHERE ID = '8407' AND LEN(tab_id_master.ID)<5 AND Len(tab_id_master.ID)>0;

谢谢

标签: mysql

解决方案


LPAD应该在这里完成工作:

SELECT LPAD ('123', 5, '0');
00123

SELECT LPAD ('12345', 5, '0');
12345

尝试:

UPDATE `it_asset_register`.`tab_id_master` 
 SET tab_id_master.ID = LPAD (tab_id_master.ID, 5, '0')
 WHERE ID = '8407' AND LENGTH(tab_id_master.ID)<5 AND LENGTH(tab_id_master.ID)>0;

推荐阅读