On Tue, 19 Sep 2000, Vladimir V. Zolotych wrote:

>   Hi all,
> Can you help me a bit ?
> The question is: how can I compare TEXT and CHAR(32) types ?
> More detailed description:
>   my=> create table foo (tt text, cc char(32));
> 
>   CREATE
>   my=> insert into foo values ('aa', 'ab');
> 
>   INSERT 27476810 1
>   my=> insert into foo values ('aa', 'aa');
> 
>   INSERT 27476811 1
>   my=> select * from foo where tt=cc;
> 
>   tt|cc
>   --+--
>   (0 rows)

 Because you not compare 'aa' and 'aa' but

        'aa' and 'aa                    '
                  ^^^^^^^^^^^^^^^^^^^^^^
                           32 chars

 try:

 test=# select * from foo where tt::char = cc;
 tt |                cc
----+----------------------------------
 aa | aa
(1 row)

 Better is use varchar(32) for 'cc' if you want run this (tt=cc) query 
often.
  
                                Karel

Reply via email to