Theodore Petrosky <[EMAIL PROTECTED]> writes: > wow.... at first I thought I had my head around a leap > year problem so I advanced your query a year....
I think what's going on here is a difference of interpretation about whether an "M months D days" interval means to add the months first or the days first. For instance 2005-02-18 plus 2 months = 2005-04-18, plus 24 days = 2005-05-12 2005-02-18 plus 24 days = 2005-03-14, plus 2 months = 2005-05-14 The timestamp-plus-interval operator is evidently doing addition the first way, but it looks like age() is calculating the difference in a way that implicitly corresponds to the second way. I have some vague recollection that this has come up before, but I don't recall whether we concluded that age() needs to be changed or not. In any case it's not risen to the top of anyone's to-do list, because I see that age() still acts this way in CVS tip. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match