如何在 PostgreSQL 中将 +1 添加到代码“001”和代码“009”?
how to add +1 to code ' 001' and to the code ' 009 ' in PostgreSQL?
我正在尝试将 +1 添加到代码“001”,但我得到的是“2”而不是“002”,我尝试将 +1 添加到代码“009”,但我得到的是“10”而不是“010”。
Table:
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 LPAD(cast(code as int)+1, 3, '0') from example;
Postgresql returns 我:
提示:没有函数与参数的名称和类型匹配。您可能需要添加显式类型转换。
@juergen d 在 mysql.
中解决了它
LPAD 需要一个字符串,所以尝试:
select LPAD(cast(cast(code as int) + 1 as varchar), 3, '0') from example;
我正在尝试将 +1 添加到代码“001”,但我得到的是“2”而不是“002”,我尝试将 +1 添加到代码“009”,但我得到的是“10”而不是“010”。
Table:
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 LPAD(cast(code as int)+1, 3, '0') from example;
Postgresql returns 我:
提示:没有函数与参数的名称和类型匹配。您可能需要添加显式类型转换。
@juergen d 在 mysql.
中解决了它LPAD 需要一个字符串,所以尝试:
select LPAD(cast(cast(code as int) + 1 as varchar), 3, '0') from example;