1、 随机生成身份证
新建一个函数,用来生成身份证号码,需要输入两个日期参数
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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个随机身份证号码
1
|
select gen_id( '1900-01-01' , '2017-10-16' ) from generate_series(1,10); |
生成十万条随机身份证号码
1
|
insert into testpg SELECT generate_series(1,100000) as xm, gen_id( '1900-01-01' , '2017-10-16' ) as num; |
补充:postgreSql的id设置自动生成随机24位数字与字母组合(uuid)
我就废话不多说了,大家还是直接看代码吧~
1
2
3
4
5
6
7
|
@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; } |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/Maslii/article/details/102923933