Я пытаюсь добавить +1 к коду '001', но я получаю '2', а не '002 и +1 для кода' 009 ', но я получаю' 10 ', а не' 010 '.Как добавить +1 в код '001' и код '009' в PostgreSQL?
Таблица:
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 в столбце. – Prix
Потому что это код, но в любом случае я могу сделать преобразование. – Python241820
Извините, но то, что вы только что сказали, не имеет никакого смысла. – Prix