通过从数据库检索数据生成数字

时间:2015-02-24 07:17:06

标签: postgresql

我正在使用PostgreSQL。现在我想生成一个像寄存器号一样的数字。这是一个16位数的代码。 格式:vvvvvv0000iiiiii

其中,v是从名为village_details(field:village_code)的表中检索的村代码。 然后将下一个四位固定为零。

接下来的6位数字(即:iiiiii)是客户ID(必须从0000001增加到iiiiii)。 例如:

1212450000111111    
1212450000111112 

等。

如何生成?

1 个答案:

答案 0 :(得分:1)

首先为customer_id创建一个序列:

CREATE SEQUENCE customer_id;

然后:

SELECT village_code || '0000' || lpad(nextval('customer_id'), 6, '0') FROM village_details;