From: | nobs(at)nobswolf(dot)info (Emil Obermayr) |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Subject: | data type of string literal |
Date: | 2008-02-26 08:42:05 |
Message-ID: | 20080226084205.GH3103@nobswolf.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Glaesemann | 2008-02-26 13:11:01 | Re: data type of string literal |
Previous Message | Tom Lane | 2008-02-24 22:22:26 | Re: Logging Question |