Обсуждение: Compare with CHAR

Поиск
Список
Период
Сортировка

Compare with CHAR

От
"Tomas Eriksson"
Дата:
Hi.

I'm using a table with a indexed CHAR(3)-column. When I use SELECT .. WHERE
Col = 'XXX', some results are empty, but the value in the row seems to be
correct like other rows. If I update the row with same data I can get it
into the result. So I didn't find any logic reason for this. I can find all
rows using LIKE (or with some substring tests) with no problems. Shouldn't =
always works the same..?  (Postgres 7.1.3)

kind regards
Tomas




Re: Compare with CHAR

От
"Josh Berkus"
Дата:
Tomas,

> I'm using a table with a indexed CHAR(3)-column. When I use SELECT ..
>  WHERE
> Col = 'XXX', some results are empty, but the value in the row seems
>  to be
> correct like other rows. If I update the row with same data I can get
>  it
> into the result. So I didn't find any logic reason for this. I can
>  find all
> rows using LIKE (or with some substring tests) with no problems.
>  Shouldn't =
> always works the same..?  (Postgres 7.1.3)

I'm pretty sure that your problem has something to do with thespace-padding of CHAR columns.  Please remember that 
'JB'::CHAR(5) = 'JB   ' != 'JB'::VARCHAR(5)

If you're sure that's not it, how about posting a tabledef and somequeries?

-Josh

______AGLIO DATABASE SOLUTIONS___________________________                                      Josh Berkus Complete
informationtechnology      josh@agliodbs.com  and data management solutions       (415) 565-7293 for law firms, small
businesses       fax 621-2533   and non-profit organizations.      San Francisco