Michael Ma <[EMAIL PROTECTED]> 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