Re: select with date_part and month failure....

From: Alban Hertroys <alban(at)magproductions(dot)nl>
To: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: select with date_part and month failure....
Date: 2006-04-18 09:16:04
Message-ID: 4444AE54.5050404@magproductions.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

A. Kretschmer wrote:
> am 18.04.2006, um 9:20:50 +0200 mailte P.MO folgendes:
>>Hello
>>
>>I have the same problem against various PostgreSQL 8.1.3, 8.0.2 and 7.4.7:
>>
>>I have a table containing periodical invoices. it contain's the last time the
>>invoce was printed and a period in month to be waited before next time.
>>My querry works with date_parts on days but never with months:
>>
>>create temp table tstdates (
>> lasttimedone date,
>> period integer
>>);
>>
>>insert into tstdates values ('2006-01-01',2);
>>insert into tstdates values ('2006-02-01',2);
>>insert into tstdates values ('2006-03-01',2);
>>insert into tstdates values ('2006-04-01',2);
>>
>>-- doesn' t works :
>>select * from tstdates where
>>date_part('month',now()-lasttimedone) >= period;
>
> now()-lasttimedone returns the number of days, not the months.
>
> You can use this:
>
> test=# select * from tstdates where date_part('month',age(lasttimedone)) >= period;
> lasttimedone | period
> --------------+--------
> 2006-01-01 | 2
> 2006-02-01 | 2
> (2 rows)

Or you could use intervals, something like:

select *
from tstdates
where lasttimedone <= now() - '1 month'::interval

In that case you may be better off using interval types for your period
field, with the added benefit that you can use 1 query for any type of
interval ('1 month', '15 days', '2 weeks', etc.). Your query would
become something like:

select * from tstdates where lasttimedone - period >= now()

Regards,
--
Alban Hertroys
alban(at)magproductions(dot)nl

magproductions b.v.

T: ++31(0)534346874
F: ++31(0)534346876
M:
I: www.magproductions.nl
A: Postbus 416
7500 AK Enschede

// Integrate Your World //

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Markus Schaber 2006-04-18 09:58:12 Re: [JDBC] Thoughts on a Isolation/Security problem.
Previous Message Martijn van Oosterhout 2006-04-18 09:15:35 Re: HUGE Stack space is gettiing consumed