Обсуждение: why don't string function work in WHERE clause?

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

why don't string function work in WHERE clause?

От
Dragan Matic
Дата:
Here's a sample:

select column1 from table1 where lower(column1) = 'some_string'

will not give me any results although column1 (defined as char[50]) has
values like
'Some_string' or 'SOME_STRING'

if for instance I say something like:

select lower(column1) from table1 where column1 = 'SOME_STRING'

then it returns 'some_string' correctly. The same thing happens with
'upper' and similar functions. Why don't they work when they are in
WHERE clause?

Dragan Matic


Re: why don't string function work in WHERE clause?

От
Dennis Gearon
Дата:
try
    select column1 from table1 where trim( lower(column1) ) = 'some_string'

As someone in the archives has said, char is evil. And varchar is your friend.


Dragan Matic wrote:
> Here's a sample:
>
> select column1 from table1 where lower(column1) = 'some_string'
>
> will not give me any results although column1 (defined as char[50]) has
> values like
> 'Some_string' or 'SOME_STRING'
>
> if for instance I say something like:
>
> select lower(column1) from table1 where column1 = 'SOME_STRING'
>
> then it returns 'some_string' correctly. The same thing happens with
> 'upper' and similar functions. Why don't they work when they are in
> WHERE clause?
>
> Dragan Matic
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>