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/

相关文章:

mysql - ./libraries/plugin_interface.lib.php 中的 phpmyadmin 警告错误#551

sql - 根据当前行的条件选择前几行

外部 .js 文件中的 PHP 语法问题

php - 如何回显作为 blob 存储在数据库中的图像?

PHP倒计时从一天开始

php - 更新mysql记录时获取纯数组文本

sql - SUM 的 MAX 和 TOP 在 View 中的使用

php - Symfony 4 自定义反序列化器返回实体中的空属性

sql - 选择所有没有服务的客户

MYSQL:分区表保持 id 唯一