postgreSQL自動生成隨機數(shù)值的實例
1、 隨機生成身份證
新建一個函數(shù),用來生成身份證號碼,需要輸入兩個日期參數(shù)
create or replace function gen_id(
a date,
b date
)
returns text as $$
select lpad((random()*99)::int::text, 2, '0') ||
lpad((random()*99)::int::text, 2, '0') ||
lpad((random()*99)::int::text, 2, '0') ||
to_char(a + (random()*(b-a))::int, 'yyyymmdd') ||
lpad((random()*99)::int::text, 2, '0') ||
random()::int ||
(case when random()*10 >9 then 'X' else (random()*9)::int::text end ) ;
$$ language sql strict;
生成10個隨機身份證號碼
select gen_id('1900-01-01', '2017-10-16') from generate_series(1,10);
生成十萬條隨機身份證號碼
insert into testpg SELECT generate_series(1,100000) as xm, gen_id('1900-01-01', '2017-10-16') as num;
補充:postgreSql的id設(shè)置自動生成隨機24位數(shù)字與字母組合(uuid)
我就廢話不多說了,大家還是直接看代碼吧~
@Id
@GeneratedValue(generator="system_uuid")
@GenericGenerator(name="system_uuid",strategy="uuid")
@Column(name = "ID", unique = true, nullable = false, length = 24)
public String getId() {
return this.id;
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
PostgreSQL索引掃描時為什么index only scan不返回ctid
這篇文章主要介紹了PostgreSQL索引掃描時為什么index only scan不返回ctid的原因探索,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09
PostgreSQL數(shù)據(jù)庫如何定期清理歸檔(pg_wal)日志
在?般的?產(chǎn)環(huán)境中,數(shù)據(jù)庫都需要開啟歸檔模式,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL數(shù)據(jù)庫如何定期清理歸檔(pg_wal)日志的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-05-05
玩轉(zhuǎn)PostgreSQL之30個實用SQL語句
本文主要整理總結(jié)了30個實用SQL,方便大家可以高效利用PostgreSQL,需要的朋友可以參考下2022-11-11
PostgreSQL時間線(timeline)和History File的用法
這篇文章主要介紹了PostgreSQL時間線(timeline)和History File的用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Postgresql 檢查數(shù)據(jù)庫主從復(fù)制進度的操作
這篇文章主要介紹了Postgresql 檢查數(shù)據(jù)庫主從復(fù)制進度的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
PGSQL實現(xiàn)判斷一個空值字段,并將NULL值修改為其它值
這篇文章主要介紹了PGSQL實現(xiàn)判斷一個空值字段,并將NULL值修改為其它值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01
postgresql 實現(xiàn)查詢某時間區(qū)間的所有日期案例
這篇文章主要介紹了postgresql 實現(xiàn)查詢某時間區(qū)間的所有日期案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01

