Thread: Lexical question...
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
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 >
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
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/