Re: Random multiple times - Mailing list pgsql-general

From Szymon Guz
Subject Re: Random multiple times
Date
Msg-id CAFjNrYukQQNX8_wZv5EneZam+jmqOCJt8oKpUKKOh-49aPo94A@mail.gmail.com
Whole thread Raw
In response to Random multiple times  (Oliver Kohll - Mailing Lists <oliver.lists@gtwm.co.uk>)
Responses Re: Random multiple times  (Szymon Guz <mabewlun@gmail.com>)
List pgsql-general


On 21 September 2011 10:51, Oliver Kohll - Mailing Lists <oliver.lists@gtwm.co.uk> wrote:
Hi,

I understand random() is a volatile function and runs multiple times for multiple rows returned by a SELECT, however is there a way of getting it to run multiple times *within* another function call and in the same row. i.e. something like

select regexp_replace('+1 555 555 555', E'\\d', trunc(random() * 9 + 1)::text,'g');
 regexp_replace
----------------
 +1 111 111 111
(1 row)

As you can see, it returns the same digit each time. I've tried wrapping a select around the trunc too.

Regards
Oliver Kohll
www.gtwm.co.uk / www.agilebase.co.uk




Short answer is: yes. More information you can find here http://simononsoftware.com/problem-with-random-in-postgresql-subselect/

regards
Szymon 


pgsql-general by date:

Previous
From: Oliver Kohll - Mailing Lists
Date:
Subject: Random multiple times
Next
From: Daniel Baktiar
Date:
Subject: Re: Random multiple times