从0000000插入序列到nnnnnnn

时间:2019-04-15 02:18:48

标签: sql postgresql sequence

我有一个如下查询,要插入数字ID。

INSERT INTO tb_number(number_id,number_value) VALUES 
(concat('T', currval('number_sequence')),1)

如何将number_id更改为Tnnnnnnn格式(T并跟随number_sequence的7位数字)

3 个答案:

答案 0 :(得分:2)

如果我正确理解:

INSERT INTO tb_number(number_id,number_value)
    VALUES ('T' || to_char(currval('number_sequence'), 'FM0000000'), 1);

答案 1 :(得分:2)

您可以使用以下格式设置序列值

to_char(currval('number_sequence'), 'TFM0000000')

答案 2 :(得分:1)

有一个函数LPAD,用于将值从左侧嵌入到字符串值中。

INSERT INTO tb_number(number_id,number_value) VALUES 
(concat('T', LPAD(CAST(currval('number_sequence') as text), 7, '0')),1)