Login or Sign up Help | Site Map
Connecting Tech Pros Worldwide

Lexical question...

Question posted by: Net Virtual Mailing Lists (Guest) on November 23rd, 2005 02:02 AM
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




---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Would you like to answer this question?
Sign up for a free account, or Login (if you're already a member).
Net Virtual Mailing Lists's Avatar
Net Virtual Mailing Lists
Guest
n/a Posts
November 23rd, 2005
02:02 AM
#2

Re: Lexical question...
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
[color=blue]
>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
>[/color]



---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to Join Bytes! so that your
message can get through to the mailing list cleanly


John DeSoi's Avatar
John DeSoi
Guest
n/a Posts
November 23rd, 2005
02:02 AM
#3

Re: Lexical question...

On Nov 23, 2004, at 5:33 AM, Net Virtual Mailing Lists wrote:
[color=blue]
> 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';
>[/color]

Try

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

Best,

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



---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match


 
Not the answer you were looking for? Post your question . . .
184,039 Experts ready to help you find a solution.
Sign up for a free account, or Login (if you're already a member).

Latest Articles: Read & Comment
  • Didn't find the answer you were looking for?
    Post Your Question
  • Top Community Contributors