MySQL - 将0添加到少于9位的数字

ste*_*ped 5 php mysql sql select

我的数据库中有数千个条目,每个条目有9位或更少.我想进行批量更新,查找数字小于9的所有行,并添加0以使它们等于9位数.

例如,我的表看起来像:

ID  |  Number  
---------------
0   |  489379
1   |  854744329
2   |  56456669
Run Code Online (Sandbox Code Playgroud)

我想让它看起来像:

ID  |  Number  
---------------
0   |  000489379
1   |  854744329
2   |  056456669
Run Code Online (Sandbox Code Playgroud)

我如何使用MySQL查询执行此操作?

Mur*_*nik 8

lpad功能应解决您的问题:

SELECT `id`, LPAD(`Number`, 9, '0')
FROM   mytable
Run Code Online (Sandbox Code Playgroud)

要回答评论中的问题,也可以在update声明中应用:

UPDATE mytable
SET    `Number` = LPAD(`Number`, 9, '0')
WHERE  LENGTH(`Number`) < 9
Run Code Online (Sandbox Code Playgroud)