Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Какой Select выбирает текст не зависимо от регистра [D7, Paradox]


Alex7 ©   (2007-03-29 14:12:00) 

Подскажите, пожалуйста, как написать Select, чтобы он выбирал строки игнорируя регистр написания букв.
Запрос, сформированный:

MySql.SQL.Add('Select NameField From MyTable M')
MySql.SQL.Add('WHERE M.NameField Like' + '"%' + Edit1.Text + '%"')

выдает только полное соответсвие (с учетом регистра букв) заданного текста. Нужно, чтобы регистр при выборе игнорировался.


ANB   (2007-03-29 17:48:00) [1]


> индексы при его условии like и так не используются... и
> это похоже в любом sql сервере/движке.

Не используются только, если поиск идет не с начала строки


Desdechado   (2007-03-29 15:47:00) [2]

> индексы при егоусловии like и так не используются
Если убрать лидирующий процент, то будут, возможно. Если не убирать, скорее всего не будут (если других условий не добавить).


sniknik   (2007-03-29 15:09:00) [3]

индексы при его условии like и так не используются... и это похоже в любом sql сервере/движке.


Sergey13   (2007-03-29 15:05:00) [4]

> А я и не грил, что у тебя неверное.

А я думал это наезд. 8-)


ANB   (2007-03-29 15:00:00) [5]


> Sergey13 ©   (29.03.07 14:36) [3]

А я и не грил, что у тебя неверное.

Но более быстрых 2 :
1. Использовать функциональный индекс (если СУБД их поддерживает) типа Upper(name)
2. Имет в таблице 2 поля - 1 обычное, второе - завсегда переведенное в верхний регистр. И искать по второму (не забыв самой строке сделать upper()).

У МС СКЛ есть свое решение - он при определенных настройках (кстати, вроде как по умолчанию) сам в индексах и при поиске регистр игнорит.


Sergey13   (2007-03-29 14:36:00) [6]

> [2] ANB ©   (29.03.07 14:35)

Ну предложи с "индексным" решением. 8-)


ANB   (2007-03-29 14:35:00) [7]


> Например upper

При этом индексы, скорее всего, отваляться (если парадокс не поддерживает функциональные).


Sergey13   (2007-03-29 14:18:00) [8]

> как написать Select, чтобы он выбирал строки игнорируя регистр написания букв.
написать с функцией приведения к одному ренистру. Например upper


Наверх

Титульная страница Поиск, карта сайта Написать письмо