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

标签 php mysql sql select

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

例如,我的表是这样的:

ID  |  Number  
---------------
0   |  489379
1   |  854744329
2   |  56456669

我想让它看起来像:

ID  |  Number  
---------------
0   |  000489379
1   |  854744329
2   |  056456669

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

最佳答案

lpad功能应该可以解决您的问题:

SELECT `id`, LPAD(`Number`, 9, '0')
FROM   mytable

要回答评论中的问题,这也可以应用在 update 语句中:

UPDATE mytable
SET    `Number` = LPAD(`Number`, 9, '0')
WHERE  LENGTH(`Number`) < 9

关于php - MySQL - 将 0 添加到少于 9 位的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30653778/

相关文章:

php - Laravel:从 View 添加字段(用户:批量可分配属性)

javascript - 我们可以从 WebService 调用 javascript 函数吗?

php - 设置 JQuery 选择不执行任何操作

php - 为什么使用动态/松散类型语言的接口(interface)?

php - Angular 2 + Angular cli + Laravel 5.3

php - fatal error : Uncaught PDOException ("SQLSTATE[42S02]")

mysql - 关于 MySQL 和多对多填充关联实体的建议

sql - 在预期的位置找不到 FROM 关键字 (Oracle SQL)

javascript - Sequelize PostgreSQL : query to see if string is within an array

php - 使用两个嵌套的 WHERE 子句可以吗?