在mysql中具有固定位数的整数

时间:2013-01-17 10:27:49

标签: mysql

我在MySQL数据库中有int类型的列。

我希望将一个数字转换为固定的数字。

例如:

如果数字是69,那么它应该转换为000069

如果数字是230则应该转换为000230

2 个答案:

答案 0 :(得分:7)

该字段必须为CHARVARCHAR才能保留已填充的值,然后您使用LPAD进行转换:

UPDATE table SET col = LPAD(col, 6, '0');

但是,如果这是在应用程序端而不是数据库端完成的话,那对我来说会更有意义(除非你在JOIN中需要这个值。)

答案 1 :(得分:5)

您可以对整数字段使用ZEROFILL选项 -

CREATE TABLE table1 (
  number INT(6) ZEROFILL DEFAULT NULL
);

但是你的MySQL客户端必须支持这个选项。

尝试MySQL命令行客户端 -

INSERT INTO table1 VALUES(1);
SELECT * FROM table1;
+--------+
| number |
+--------+
| 000001 |
+--------+