On 21 September 2011 10:51, Oliver Kohll - Mailing Lists <
oliver.li...@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

Reply via email to