Implicit/Explicit casting of the unknown type
От | Stephen Jackson |
---|---|
Тема | Implicit/Explicit casting of the unknown type |
Дата | |
Msg-id | 3ABFA0AB.51025C8E@panting-deer.org.uk обсуждение исходный текст |
Список | pgsql-sql |
Hi, I am new to this list. I have browsed the list archives and tried a search, but haven't found anything about my problem. I am porting several applications to PostgreSQL and have come across a number of instances where a string literal does not work without an explicit cast to some character based datatype. Two examples are given below: one where the string literal is in the column list, and one where it is in a WHERE clause. Are there bugs in the area of determining a type for the unknown type? Or is explicit casting of string literals to a known type generally required by PostgreSQL? TIA, Stephen Jackson Home: Stephen.Jackson@panting-deer.org.uk www.panting-deer.org.uk Work: Stephen.Jackson@looksystems.co.uk www.looksystems.co.uk [begin examples] version ---------------------------------------------------------------------PostgreSQL 7.0.3 on i686-pc-linux-gnu, compiled by gccegcs-2.91.66 (1 row) DROP TABLE strange DROP CREATE TABLE strange ( record_id integer ) CREATE INSERT INTO strange ( record_id ) VALUES ( 10 ) INSERT 5174249 1 SELECT DISTINCT record_id, 123 FROM strange WHERE record_id < 100record_id | ?column? -----------+---------- 10 | 123 (1 row) SELECT DISTINCT record_id, 'Hello' FROM strange WHERE record_id < 100 ERROR: Unable to identify an ordering operator '<' for type 'unknown'Use an explicit ordering operator or modify the query SELECT record_id, 'Hello' FROM strange WHERE record_id < 100record_id | ?column? -----------+---------- 10 | Hello (1 row) SELECT COUNT(*) FROM strange WHERE 'TR' || 'UE' = 'TRUE'count ------- 1 (1 row) SELECT COUNT(*) FROM strange WHERE 'TRUE' = 'TRUE' ERROR: Unable to identify an operator '=' for types 'unknown' and 'unknown'You will have to retype this query using an explicit cast [end examples]
В списке pgsql-sql по дате отправления: