Обсуждение: create a 'range' of dates/numbers?
Hi, Is it possible to create a range of dates or numbers inside a query without wrining in procedural language? I am looking for something that creates some kind of 'temp table' inside a query. eg: [wrong/fantasy syntax] SELECT (1 to 3 step 1) as number; desired output: number 1 2 3 I have been looking through the manual, but cannot find anything. Maybe it doesn't exist. Thanks for your time. Regards, Erwin Moller
generate_series() http://www.postgresql.org/docs/8.3/interactive/functions-srf.html select generate_series(1,3);
On 19/12/2008 10:28, Erwin Moller wrote: > Is it possible to create a range of dates or numbers inside a query > without wrining in procedural language? > I am looking for something that creates some kind of 'temp table' inside > a query. Have a look at the generate_series() function in the manual - if memory serves, there's an example there of creating a series of dates. Ray. ------------------------------------------------------------------ Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland rod@iol.ie Galway Cathedral Recitals: http://www.galwaycathedral.org/recitals ------------------------------------------------------------------
In response to Erwin Moller : > Hi, > > Is it possible to create a range of dates or numbers inside a query > without wrining in procedural language? > I am looking for something that creates some kind of 'temp table' inside > a query. > eg: generate_Series(): test=# select * from generate_Series(1,5); generate_series ----------------- 1 2 3 4 5 (5 rows) test=*# select current_date + s * '1day'::interval from generate_Series(1,5)s; ?column? --------------------- 2008-12-20 00:00:00 2008-12-21 00:00:00 2008-12-22 00:00:00 2008-12-23 00:00:00 2008-12-24 00:00:00 (5 rows) Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
try function generateseries thomas Erwin Moller schrieb: > Hi, > > Is it possible to create a range of dates or numbers inside a query > without wrining in procedural language? > I am looking for something that creates some kind of 'temp table' > inside a query. > eg: > [wrong/fantasy syntax] > SELECT (1 to 3 step 1) as number; > desired output: > number > 1 > 2 > 3 > > I have been looking through the manual, but cannot find anything. > Maybe it doesn't exist. > > Thanks for your time. > > Regards, > Erwin Moller > > -- Thomas Markus ==================================================== proventis GmbH | Zimmerstr. 79-81 | D-10117 Berlin | Tel +49 (0)30 2936399-22 | Fax -50 | t.markus@proventis.net ----------------------------------------------------------------- Geschäftsführer: Norman Frischmuth | Sitz: Berlin Handelsregister: AG Berlin-Charlottenburg, HR 82917 ----------------------------------------------------------------- Blue Ant-webbasiertes Projektmanagement - aktuelle Termine 2008: http://www.proventis.net/website/live/blueant/veranstaltungen.html ====================================================
Вложения
A. Kretschmer schreef: > In response to Erwin Moller : > >> Hi, >> >> Is it possible to create a range of dates or numbers inside a query >> without wrining in procedural language? >> I am looking for something that creates some kind of 'temp table' inside >> a query. >> eg: >> > > generate_Series(): > > test=# select * from generate_Series(1,5); > generate_series > ----------------- > 1 > 2 > 3 > 4 > 5 > (5 rows) > > test=*# select current_date + s * '1day'::interval from > generate_Series(1,5)s; > ?column? > --------------------- > 2008-12-20 00:00:00 > 2008-12-21 00:00:00 > 2008-12-22 00:00:00 > 2008-12-23 00:00:00 > 2008-12-24 00:00:00 > (5 rows) > > > Andreas > Wow, you ARE fast. :-) Thanks a lot all, excactly what I was looking for! Regards, Erwin Moller