Thread: Find Number Of Sundays Between Two Dates
Hai EverBody, Can I know what is the query by which we can find the number of sundays between two given dates in postgres Thanks In Advance, Raghu....... -- View this message in context: http://www.nabble.com/Find-Number-Of-Sundays-Between-Two-Dates-tp15843956p15843956.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
am Tue, dem 04.03.2008, um 22:16:07 -0800 mailte raghukumar folgendes: > > Hai EverBody, > > Can I know what is the query by which we can find the number of > sundays between two given dates in postgres No problem, for instance for month january 2008: test=*# select count(1) from (select '2008-01-01'::date + s*'1day'::interval as datum from generate_series(0,30) s)foo where extract(dow from datum)=6; count ------- 4 (1 row) With generate_series() i generate a list of dates, and later i check if the date are a saturday. Okay, you need to know sunday -> change from 6 to 0 and ou course, you can calculate the parameter for the generate_series like test=*# select count(1) from (select '2008-01-01'::date + s*'1day'::interval as datum from generate_series(0,'2008-01-31'::date - '2008-01-01'::date) s)foo where extract(dow from datum)=0; count ------- 4 (1 row) Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
On Wednesday 05 March 2008 06:16, raghukumar wrote: > Hai EverBody, > > Can I know what is the query by which we can find the number of > sundays between two given dates in postgres > > Thanks In Advance, > Raghu....... I think the easiest way is to set up a table populated with all dates and days between two years that are important to your application and then just do simple selects on that table. Regards Garry
On 3/5/08, A. Kretschmer <andreas.kretschmer@schollglas.com> wrote: > With generate_series() i generate a list of dates, and later i check if > the date are a saturday. Okay, you need to know sunday -> change from 6 > to 0 and ou course, you can calculate the parameter for the > generate_series like I find it convenient to create a custom version of generate_series: CREATE OR REPLACE FUNCTION generate_series(date,date) RETURNS SETOF date AS $$ SELECT $1 + n FROM generate_series(0,$2-$1) AS x(n) $$ LANGUAGE SQL IMMUTABLE; Regards, Dawid