to_char and '=' weirdness - Mailing list pgsql-sql

From Frank Joerdens
Subject to_char and '=' weirdness
Date
Msg-id 20020808133300.A15630@superfly.archi-me-des.de
Whole thread Raw
Responses Re: to_char and '=' weirdness  (Ludwig Lim <lud_nowhere_man@yahoo.com>)
List pgsql-sql
German area codes from the former east all have a leading zero. As I
store area codes as integers, I use to_char to find those with a leading
zero, as in

select * from adressen where to_char(plz, '00000') like '%04109%';

(this would be Leipzig)

What I don't understand is why something like

select * from adressen where to_char(plz, '00000') = '04109';

will yield 0 rows. If I do

archi=# select to_char(plz, '00000') from adressen where
archi-# to_char(plz, '00000') like '%04109%';

I get:
to_char
--------- 04109 04109 04109 04109 04109 04109 04109 04109 04109 04109 04109 04109 04109 04109 04109
(15 rows)

(i.e. my database contains 15 addresses from Leipzig)

which would appear to indicate that to_char actually yields the string
'04109'. Why doesn't the '=' operator work then?

Regards, Frank


pgsql-sql by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Effective usage without unique key -- suggestion
Next
From: Ludwig Lim
Date:
Subject: Re: to_char and '=' weirdness