小编jac*_*zes的帖子

LPAD领先零

我有发票号码表.指南说数字应该有6位或更多位数.首先尝试做:

UPDATE t1 SET NUMER=CONCAT('00000',NUMER) WHERE LENGTH(NUMER)=1;   
UPDATE t1 SET NUMER=CONCAT('0000',NUMER) WHERE LENGTH(NUMER)=2;  
UPDATE t1 SET NUMER=CONCAT('000',NUMER) WHERE LENGTH(NUMER)=3;  
UPDATE t1 SET NUMER=CONCAT('00',NUMER) WHERE LENGTH(NUMER)=4;  
UPDATE t1 SET NUMER=CONCAT('0',NUMER) WHERE LENGTH(NUMER)=5;  
Run Code Online (Sandbox Code Playgroud)

但这并不高效,甚至很漂亮.我试过LPAD功能,但后来问题因为功能:

UPDATE t1 SET NUMER=LPAD(NUMER,6,'0') WHERE CHAR_LENGTH(NUMER)<=6 ;
Run Code Online (Sandbox Code Playgroud)

返回受影响的ZERO行.也谷歌搜索,他们说把零写入报价将解决问题,但没有,任何帮助?这是每日进口.

编辑:列NUMER是INT(19)并包含已经的数据,如:

NUMER
----------
1203  
12303 
123403 
1234503 
...
Run Code Online (Sandbox Code Playgroud)

(现在填充了3到7位不同长度的数据)

mysql

9
推荐指数
2
解决办法
3万
查看次数

标签 统计

mysql ×1