Mixed case text searches

Поиск
Список
Период
Сортировка
От Chris Campbell
Тема Mixed case text searches
Дата
Msg-id 453A24085F801842AEA8D0B6B269065D2F8BA64CE3@HDMC.cds.local
обсуждение исходный текст
Ответы Re: Mixed case text searches  (Thom Brown <thombrown@gmail.com>)
Список pgsql-novice

Hi list people.  Okay I’ve read the documentation.  Now it’s time to talk to people that actually do this for a living.  Mixed case searches, what is the best practice?

I’m searching for an account name:  Acme Rockets Inc.

 

strSearchString = ‘acme%’

Select * From Accounts Where AccountName = strSearchString

This will of course fail because the case doesn’t match.  So what is the best practice for performance?

 

I could use the Lower() function:

strSearchString = lower(‘acme%’)

Select * From Accounts Where lower(AccountName) = strSearchString

 

Or I could use the ilike operator

strSearchString = ‘acme%

Select * From Accounts Where AccountName ilike  strSearchString

 

It’s also been suggested that I keep a companion column that mirrors the account name column which is forced to lower case.  This seems, well a bit desperate to me.

 

So, from a performance standpoint, what are people doing and why?

 

Many thanks for your replies.

 

Chris Campbell

 

В списке pgsql-novice по дате отправления:

Предыдущее
От: "Jean-Yves F. Barbier"
Дата:
Сообщение: Re: (not so?) silly question
Следующее
От: Thom Brown
Дата:
Сообщение: Re: Mixed case text searches