Re: Using random() in update produces same random value for all

Поиск
Список
Период
Сортировка
От Ken Tanzer
Тема Re: Using random() in update produces same random value for all
Дата
Msg-id CAD3a31Wkji3HCPxcRDdA6P6xHjjURV-YP_Z6wYitqSpc2G0e4g@mail.gmail.com
обсуждение исходный текст
Ответ на Using random() in update produces same random value for all  (Alex Magnum <magnum11200@gmail.com>)
Список pgsql-general


On Sun, Jan 14, 2018 at 2:01 AM, Alex Magnum <magnum11200@gmail.com> wrote:
Hi,
i am trying to update a table with some random dates but that does not seem to work.

UPDATE table
   SET last_update=now()::date-(SELECT (random() * 5)::INTEGER + 1)

The updated field is always set to the same. Is there a way to make it random for every record?

I could run it through a function but I wonder if there is s simpler way.

 
I verified this with a SELECT, not an UPDATE, but I think leaving this as a simple expression will do what you want.  Just leave out the SELECT:

 UPDATE table
   SET last_update=now()::date-((random() * 5)::INTEGER + 1)

Cheers,
Ken

--
AGENCY Software  
A Free Software data system
By and for non-profits
(253) 245-3801

learn more about AGENCY or
follow the discussion.

В списке pgsql-general по дате отправления:

Предыдущее
От: Alex Magnum
Дата:
Сообщение: Using random() in update produces same random value for all
Следующее
От: "Peter J. Holzer"
Дата:
Сообщение: Re: Sv: Re: Sv: Re: Sv: Re: Sv: Re: data-checksums