如何在mysql中将前导零添加到不同的char长度?

时间:2012-06-08 06:42:56

标签: php mysql

嗨,我对不同的表有一个查询,并且它们都有不同的长度,需要ID的前导零。是否可以使用一个将前导零添加到任何表的查询?

我们可以说第一个查询是insert to tbl1_field1(CHAR 3) 001,然后下一个查询是insert to tbl2_field2(CHAR 4) 0001,然后是insert to tlb3_field3(CHAR 10) 0000000001。我正在使用php and mysql

3 个答案:

答案 0 :(得分:2)

您可以使用LPAD函数 -

在SELECT查询中执行此操作
SELECT LPAD(id, 4, 0) FROM table;

查询将显示如下字符串 - '0001'

答案 1 :(得分:1)

UPDATE table
SET field1 = LPAD(id, 3, 0)

答案 2 :(得分:0)

我很确定我在你的问题中遗漏了一些内容,但你没有调整查询,你是否考虑过表结构中的ZEROFILL选项?

CREATE TABLE `test`.`TEST_LEADING_ZERO` (
    `ID` INTEGER UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (`ID`)
)
ENGINE = InnoDB;