我正在尝试为代码'001'添加+1,但我得到'2'而不是'002和+1代码'009'但我得到'10'而不是'010'。
表:
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 :(得分:2)
要进行数学运算,MySQL会将您的字符串转换为数字,结果当然也是一个数字。使用LPAD
将其再次转换为字符串
select LPAD(code+1, 3, '0') from example;