postgreSQL自动生成随机数值的实例
1、随机生成身份证
新建一个函数,用来生成身份证号码,需要输入两个日期参数
createorreplacefunctiongen_id( adate, bdate ) returnstextas$$ selectlpad((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|| (casewhenrandom()*10>9then'X'else(random()*9)::int::textend); $$languagesqlstrict;
生成10个随机身份证号码
selectgen_id('1900-01-01','2017-10-16')fromgenerate_series(1,10);
生成十万条随机身份证号码
insertintotestpgSELECTgenerate_series(1,100000)asxm,gen_id('1900-01-01','2017-10-16')asnum;
补充:postgreSql的id设置自动生成随机24位数字与字母组合(uuid)
我就废话不多说了,大家还是直接看代码吧~
@Id @GeneratedValue(generator="system_uuid") @GenericGenerator(name="system_uuid",strategy="uuid") @Column(name="ID",unique=true,nullable=false,length=24) publicStringgetId(){ returnthis.id; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。