【发布时间】:2016-07-20 10:32:40
【问题描述】:
我正在尝试将 +1 添加到代码“001”但我得到“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 LPAD(cast(code as int)+1, 3, '0') from example;
Postgresql 返回我:
提示:没有函数匹配参数的名称和类型。您可能需要添加显式类型转换。
@juergen d 在 mysql 中解决了。
【问题讨论】:
-
为什么首先将数字保存为 varchar?例如,在 MySQL 中,您可以选择在列上使用 ZEROFILL。
-
因为是代码但无论如何我可以进行转换。
-
对不起,你刚才说的没有任何意义
标签: postgresql dml