data type of string literal - Mailing list pgsql-novice

From nobs@nobswolf.info (Emil Obermayr)
Subject data type of string literal
Date
Msg-id 20080226084205.GH3103@nobswolf.info
Whole thread Raw
Responses Re: data type of string literal  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: data type of string literal  (Michael Glaesemann <grzm@seespotcode.net>)
List 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

pgsql-novice by date:

Previous
From: Tom Lane
Date:
Subject: Re: Logging Question
Next
From: Tom Lane
Date:
Subject: Re: data type of string literal