Hi List,
I just joined because I found a behaviour of implicit casts I don't
understand. I am quite new to Postgre, trying out things and
tried this sql-code:
select cast('8.000' as text) = 8.00 as test, 1 as case
union
select cast('8.000' as text) = 8.000, 2
union
select '8.00' = 8.000, 3
This gives me the following result:
test => f case => 1
test => t case => 2
test => t case => 3
Why is the string literal in case 3 parsed as float so the
comparision is true. While in the other cases the
float literal is auto-casted to a string, so the
comparision is only true if the number of zeros is equal?
Is there a exact column type that fits a string literal? Explicit
casts to char or varchar instead of text gives the same results.
Yours,
Emil 'nobs' Obermayr