Search Postgresql Archives

Re: How can I get the first and last date of a week, based on the week number and the year

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Feb 27, 2008, at 2:32 AM, Bruno Baguette wrote:

Hello !

I have a week number (ISO 8601) and a year, based on theses values, I would like to get the first and the last dates of that week.

How I can do that ?

The only solution is doing a big generate_series to build a subset that contains the week of all the dates between the 01/01 || year and the 31/12 || year. But I find that solution quite dirty and ressources consumming.

Is there a cleanest way to do that ?

You can use to_date for most of that, like:
development=> select to_date('01 02 2008', 'ID IW YYYY') AS start,
	to_date('07 02 2008', 'ID IW YYYY') AS end;
   start    |    end
------------+------------
 2008-01-07 | 2008-01-07
(1 row)

I'm a bit surprised that specifying the weekdays doesn't make any difference here, maybe it's my version?:

development=> select version();
                                            version
------------------------------------------------------------------------ ------------------------ PostgreSQL 8.2.4 on i386-portbld-freebsd6.2, compiled by GCC cc (GCC) 3.4.6 [FreeBSD] 20060305
(1 row)


Anyway, you can solve that by adding an interval '6 days' to the end result.

Alban Hertroys

--
If you can't see the forest for the trees,
cut the trees and you'll see there is no forest.


!DSPAM:737,47c525af233091991417831!



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux