Re: Random numbers - Mailing list pgsql-general

From Szymon Guz
Subject Re: Random numbers
Date
Msg-id CAFjNrYt-kErJOv7TcSE3S+8CKOFo8NQwiJ6WNBEvG-ZSfB6fPA@mail.gmail.com
Whole thread Raw
In response to Re: Random numbers  (Karel Riveron Escobar <kescobar@estudiantes.uci.cu>)
List pgsql-general



On 25 May 2013 18:14, Karel Riveron Escobar <kescobar@estudiantes.uci.cu> wrote:
How would be if I would want to generate values among 3 and 5?



Hi Karel,
try something like:

SELECT floor(3 + random()*(5-3+1))::INT

Or generally:

CREATE OR REPLACE FUNCTION
random_range(INTEGER, INTEGER) RETURNS INTEGER
AS $$   SELECT floor(($1 + ($2 - $1 + 1) * random()))::INTEGER;
$$ LANGUAGE SQL;
and then:
SELECT random_range(3,5);

regards
Szymon

pgsql-general by date:

Previous
From: Karel Riveron Escobar
Date:
Subject: Re: Random numbers
Next
From: Moshe Jacobson
Date:
Subject: 9.1: Slow to add range check on indexed column