2015-02-24 115 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