如何设置postgres主键固定lengeth

时间:2017-11-01 02:54:50

标签: postgresql

主键是一个数字,它们的范围从1到1000,对于前一个记录的主键可以是12,而另一个记录的主键可以是1023.我需要做的是将我表中主键的所有数字转换为6位数,即12变为000012,1023变为001023。

2 个答案:

答案 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个字符。