2016-03-31 4 views
0

コード「001」に+1を追加しようとしていますが、「2」と「002」ではなく「009」でコード化していますが、「10」ではなく「010」です。コード「001」に+1を、コード「009」に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

数値演算を行うには、文字列を数値に変換し、結果も数字です。 'LPAD'を使用する –

+0

文字列( '001'は数字ではない)で数学を行うことはできないので、追加するには文字列から数値に変換する必要があります。その数字のゼロパディング文字列表現にするには、それを元に戻し、正しい数のゼロを左側に追加します。 –

+0

お返事ありがとうございました – Python241820

答えて

2

数学演算を行うために、MySQLはあなたの文字列を数値に変換し、結果ももちろん数字です。 LPADを使用して再度文字列に変換してください

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

ありがとうございました – Python241820

関連する問題