Обсуждение: Lexical question...

Поиск
Список
Период
Сортировка

Lexical question...

От
"Net Virtual Mailing Lists"
Дата:
Hello,

I have a table with a timestamp column and I want to set this to a value
of now() - a random number of days between 0 and 45 for each row... I've
tried to do this a bunch of different ways and can't figure it out...
Here is my latest version:


update sometable set entered_dt = now() - interval round(random()*45)||'
days';


Any ideas on the proper way to accomplish this?

Thanks!

- Greg




Re: Lexical question...

От
"Net Virtual Mailing Lists"
Дата:
Err, I just read my latest digest and saw the solution:

update datafrenzy.jobdata set entered_dt= now() - CAST(round(random()*45)
|| ' days' AS interval);


- Greg

>Hello,
>
>I have a table with a timestamp column and I want to set this to a value
>of now() - a random number of days between 0 and 45 for each row... I've
>tried to do this a bunch of different ways and can't figure it out...
>Here is my latest version:
>
>
>update sometable set entered_dt = now() - interval round(random()*45)||'
>days';
>
>
>Any ideas on the proper way to accomplish this?
>
>Thanks!
>
>- Greg
>



Re: Lexical question...

От
John DeSoi
Дата:
On Nov 23, 2004, at 5:33 AM, Net Virtual Mailing Lists wrote:

> I have a table with a timestamp column and I want to set this to a
> value
> of now() - a random number of days between 0 and 45 for each row...
> I've
> tried to do this a bunch of different ways and can't figure it out...
> Here is my latest version:
>
>
> update sometable set entered_dt = now() - interval
> round(random()*45)||'
> days';
>

Try

select now() - ((round(random()*45))::text || ' days')::interval;

Best,

John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL



Re: Lexical question...

От
Michael Fuhr
Дата:
On Tue, Nov 23, 2004 at 09:03:26AM -0500, John DeSoi wrote:

> select now() - ((round(random()*45))::text || ' days')::interval;

Or one of the following (add round() if desired):

select now() - 45 * random() * interval'1 day';
select now() - random() * interval'45 day';

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/