Are the 'extract' values off on the boundary values of date data types?
(With pgsql 6.3.2):
create table dtest (
adate date,
adt datetime
);
insert into dtest values ('01-01-1998', '01-01-1998') ;
insert into dtest values ('01-31-1998', '01-31-1998') ;
insert into dtest values ('02-01-1998', '02-01-1998') ;
insert into dtest values ('02-02-1998', '02-02-1998') ;
select extract (month from adate), extract (month from adt), * from dtest ;
date_part|date_part| adate|adt
---------+---------+----------+----------------------------
12| 1|01-01-1998|Thu Jan 01 00:00:00 1998 CST
1| 1|01-31-1998|Sat Jan 31 00:00:00 1998 CST
1| 2|02-01-1998|Sun Feb 01 00:00:00 1998 CST
2| 2|02-02-1998|Mon Feb 02 00:00:00 1998 CST
(4 rows)
---
select * from dtest where extract(month from adate) = 12;
adate|adt
----------+----------------------------
01-01-1998|Thu Jan 01 00:00:00 1998 CST
(1 row)
-----
Les Mikesell
les@mcs.com