主键是一个数字,它们的范围从1到1000,对于前一个记录的主键可以是12,而另一个记录的主键可以是1023.我需要做的是将我表中主键的所有数字转换为6位数,即12变为000012,1023变为001023。
答案 0 :(得分:2)
您可能不需要更改主键。在查询中使用函数to_char()
以获得所需的格式:
with my_table(my_numeric_pk) as ( values (12), (1023))
select to_char(my_numeric_pk, 'fm000000') as my_nice_pk
from my_table;
my_nice_pk
------------
000012
001023
(2 rows)
答案 1 :(得分:1)
使用lpad功能(lpad表示左键盘)
SELECT LPAD(1023::TEXT, 6, '0')
-- outputs: 001023
将你的id存储为常规整数,输出用零填充它们使它们长度为6个字符。