1. 程式人生 > >postgresql獲取隨機數

postgresql獲取隨機數

  • 獲取0 - 1之間的隨機小數
select random();
  • 獲取一個1 - 10000之間的隨機整數,ceil函式:得到不小於引數的最小的整數,floor:得到不大於引數的最大整數,trunc:截斷
SELECT ceil(random()*(10000-1)+1) as num;
SELECT floor(random()*(10000-1)+1) as num;
SELECT trunc(random()*(10000-1)+1) as num;
  • 獲取100個1-10000之間的隨機整數,可能會有重複資料
SELECT ceil(random()*(10000-1)+1) as num from generate_series(1
,100);
  • 獲取100個1-10000之間的隨機整數,沒有重複資料
select num from generate_series(1,1000000) as t(num) order by random() limit 10;
  • 再介紹一個生成測試資料的方法,生成2000w資料,第一個整數,第二個8位文字
select id,substring(md5(id::varchar),2,8)  from generate_series (1,2000000) as t(id)

select id,substring(md5(random()::varchar),2,8)  from generate_series (1
,2000000) as t(id)