2016-03-31 29 views
0

我想給代碼'001'加上+1,但是我得到'2'而不是'002和+1代碼'009',但是我得到'10'而不是'010'。如何在代碼'001'和代碼'009'中添加+1到MySql中?

表:

create table example 
(
    code  varchar(7), 
    row1  varchar(10), 
    row2  varchar(7), 


CONSTRAINT pk_code PRIMARY KEY (code) 

); 

插入:

insert into example(code, row1, row2) 
values('001','x1', 'y1'); 

insert into example(code, row1, row2) 
values('009','x2', 'y2'); 

我試了下查詢:

select code+1 from example; 

的MySql返回我:

+----------+ 
| code | 
+----------+ 
|  2 | 
|  10 | 
+----------+ 
+0

進行數學運算MySQL將字符串轉換爲數字,結果當然也是數字。使用'LPAD' –

+0

你不能對字符串進行數學運算('001'不是數字),所以它必須從字符串轉換爲數字才能添加。如果您希望它再次成爲該數字的零填充字符串表示形式,請將其轉換回來,並將正確數量的零添加到左側。 –

+0

非常感謝您的回答 – Python241820

回答

2

進行數學運算MySQL將字符串轉換爲數字,結果當然也是數字。使用LPAD將其再次變成字符串

select LPAD(code+1, 3, '0') from example; 
+0

非常感謝您完美的作品 – Python241820

相關問題