【PostgreSQL】ランダム値を生成する(Rand)

2020年7月19日

スポンサーリンク

説明

ランダムな値を生成する(範囲指定あり)

 

引数

引数1(integer):ランダム値の範囲(最大値)

引数2(integer):ランダム値の範囲(最小値)

 

返り値

ランダム値

 

コード

CREATE OR REPLACE FUNCTION rand(i_min integer,i_max integer)
  RETURNS numeric AS
$BODY$
declare
	i_temp	integer;
BEGIN

	i_temp = round(( random() * (i_min - i_max) )::numeric, 0) + i_max;

	return i_temp;

END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION rand(integer,integer)
  OWNER TO postgres;

※PostgreSQL9.5 , 9.6 , 10 , 11 , 12で動作確認済み 自作関数の実行方法はこちら

 

実行例

select * From rand(1,100);  --50

 

PostgreSQLの構文まとめを書いています

入門~経験者まで「基本構文・こんな時どう書くんだっけ?」のまとめ