Thread

  1. Re: [SQL] Date comparisons

    Tom Lane <tgl@sss.pgh.pa.us> — 1999-10-27T14:28:11Z

    "omid omoomi" <oomoomi@hotmail.com> writes:
    >> I'm trying to do a > < on a date field. Not having any luck.
    >> My query looks like
    >> select * from a where a.cdate > Date('10-20-1999');
    
    > hello ,try this :
    > select * from a where a.cdate < '10-20-1999' ;
    
    Hoo boy, that looks like a nasty little bug.  The first example *should*
    work, but indeed it does not.  Examination of the 'explain verbose'
    output shows that the parser is converting the function call to
    	datetime_date('10-20-1999'::unknown)
    which is certainly not going to work --- datetime_date expects a
    datetime input, not a text string.  I don't know why it's not choosing
    to use date_in as the implementation of Date(), but in any case it
    seems to have dropped the ball on coercing "unknown" to "datetime"
    as it should have done if it wants to use datetime_date.
    
    6.5.2 and current sources both misbehave like this.
    
    			regards, tom lane