Re: Unable to identify a right operator '>=' for type 'bpchar' - Mailing list pgsql-sql

From Tom Lane
Subject Re: Unable to identify a right operator '>=' for type 'bpchar'
Date
Msg-id 7602.959186017@sss.pgh.pa.us
Whole thread Raw
In response to Unable to identify a right operator '>=' for type 'bpchar'  (Michael Ma <mikema@ficnet.net>)
List pgsql-sql
Michael Ma <mikema@ficnet.net> writes:
> While running the following SQL statement in postgresql-7.0-1 via
> JDBC,

>    select a.cus_code, a.dlv_code, b.cus_abbr, a.dlv_abbr,
>           a.address, a.tel, a.fax, a.contact
>      from dlv_point a, customer b
>     where ((a.cus_code >= ? and a.cus_code <= ?)
>           or (b.cus_abbr >= ? and b.cus_abbr <= ?))
>       and trim(b.cus_code) = trim(a.cus_code)
>     order by 1 ;

> I got the following error message:

>    Unable to identify a right operator '>=' for type 'bpchar'
>    You may meed to add parentheses or an explicit cast.

It looks to me like the parser is thinking that "a.cus_code >= ?"
must represent application of a suffix operator '>=' followed by
application of another suffix operator '?'.  Which is indeed about
the only way it could make any sense of the expression.

I assume you were expecting something to get substituted for the '?'
marks before the query is submitted, but it evidently didn't happen ...
        regards, tom lane


pgsql-sql by date:

Previous
From: Michael Ma
Date:
Subject: Unable to identify a right operator '>=' for type 'bpchar'
Next
From: Thomas Holmgren
Date:
Subject: Why is PostgreSQL 7.0 SQL semantics different from Oracle's?