postgres :创建一个像 0000001 到 00000n 这样的序列

abu*_*ker 1 postgresql

亲爱的所有人,
我想在 postgres 中创建一个序列,它类似于 0000000001 到 00nnnnnnnnn 通常我们可以从 1 到 n 创建,但我希望在前面加上 0
有没有什么简单的方法可以做到这一点???

And*_*Boc 6

序列是数字生成器,数字没有“0”左填充...

如果要添加填充,可以使用 lpad 函数:

CREATE SEQUENCE my_sequence_seq;

SELECT lpad(nextval('my_sequence_seq')::text,10,'0');
Run Code Online (Sandbox Code Playgroud)

您也可以在表声明中使用它:

CREATE TABLE sequence_test(
  id varchar(20) NOT NULL DEFAULT lpad(nextval('my_sequence_seq')::text,10,'0'),
  name text
);
Run Code Online (Sandbox Code Playgroud)