Хорошей альтернативой to_char()
в задаче «заполнение нулей» является lpad()
:
create table TableName(columnName serial primary key);
select lpad(columnName::text, 3, '0'), * from TableName;
Внимание: lpad()
не вызывает ошибку при переполнении, см., Например:
select lpad(4444::text, 3, '0'), to_char(4444, '000')