This is a discussion on CASTING in JOIN or WHERE within the pgsql Novice forums, part of the PostgreSQL category; --> Hi All, I have written some SQL and have noticed that PostgreSQL seems to be modifying the syntax slightly. ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi All, I have written some SQL and have noticed that PostgreSQL seems to be modifying the syntax slightly. I do not care per se but if it impacts performance I want to understand how to write the SQL in the more efficient form. I am recalling posts commenting on columns with dissimilar types and the lack of index usage. I have a column of type varchar id | character varying(20) | not null I use this in a WHERE clause WHERE id = 'SN' PostgreSQL changes the statement to WHERE id::text = 'SN'::text I notice a similar behavior when doing JOINs Given in table 1 item_id | character varying(20) | not null and in table 2 id | character varying(20) | not null The JOIN ON ( tbl_line_item.item_id = tbl_item.id ) is changed to ON ( tbl_line_item.item_id::text = tbl_item.id::text ) Kind Regards, Keith ---------------------------(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 |