2015-02-24 103 views
0

我正在使用PostgreSQL。现在我想生成一个像注册号一样的数字。这是一个16位数的代码。 格式:vvvvvv0000iiiiii通过从数据库中检索数据来生成数字

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

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

1212450000111111  
1212450000111112 

等。

它将如何生成?

+1

那么,这是否 “客户ID” 从何而来? – 2015-02-24 07:22:00

回答

1

首先创建CUSTOMER_ID序列:

CREATE SEQUENCE customer_id; 

然后:

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

每次运行'select'语句时,这将返回一个不同的customer_id。 – 2015-02-24 08:21:33

+0

是的,我认为这是需要的......应该返回一些固定值吗? – 2015-02-24 08:23:36