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

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

Поиск в базе Интербэйс не чувствительный к регистру [D6, IB6.x]


Страницы:   1 2

korvin ©   (2003-02-05 08:47:00) 

Всё почти очень просто, делаю поиск текста
like ""%"+EKlient.Text+"%"" (что-то вроде этого).
Но он чувствителен к регистру. Как эту чувствительность убрать?


Dimedrol   (2003-02-05 18:38:00) [1]

Ыыыыыы ну тогда ясно...
Мне-то просто нужно найти данные,
а уж отобразить-то я и с текущего Запроса могу....


Max Zyuzin   (2003-02-05 12:37:00) [2]

Offtop : первый раз мой ответ был удален модератором :-)
Тот Query в котором я делал Locate у меня данные отображает.


Dimedrol   (2003-02-05 11:58:00) [3]

2 Max Zyuzin ©</B1>

А нафига тогда 2 запроса ?!
Тогда уж и выбирай первым запросом нужные поля,
а второй уж точно не ускорит работу,
если и так уж выбрано то что нужно.


Sergey13   (2003-02-05 10:53:00) [4]

2Sergey Masloff (05.02.03 10:40)
>ну так я про это говорил...
Сори.

>Дык а при выборке каким боком регистр влияет? - это мимо
Дык юзеру то хочется видеть то как он ввел, а не то как там хранится.

>Вывод на экран - дак на него не 100000 записей выводится. А 10.
Но 1000 раз за день. Те-же яйца, только в профиль. 8-)

>И преобразование делается не на сервере же ж.
Чтож вы так сервера то не любите? 8-) Он чай тоже не железный.

>(И на сервере быстрая, но у сервера клиентов много).
Вот именно.

>ИМХО в 99% случаев будет явный пригрышь в производительности
Неа, не будет ;-) Тоже ИМХО
В общем сойдемся как в вопросе про вкус и цвет жидкой водки. 8-)


Max Zyuzin   (2003-02-05 10:49:00) [5]

Удалено модератором


Dimedrol   (2003-02-05 10:46:00) [6]

Удалено модератором
Примечание: Задай этот ответ в отдельной ветке,


AlexSerp   (2003-02-05 10:41:00) [7]

Dmitry W. (05.02.03 10:08)
containing чуствителенк регистру

Я там в своем посте выше ошибся: при containing не надо знаков - %

Саня


Sergey Masloff   (2003-02-05 10:40:00) [8]

Sergey13 ©
>Они вроде вообще при %ля
ну так я про это говорил...

>Но если поиск по подстроке - это работа как правило нечастая, то выборка и вывод на экран/бумагу
Дык а при выборке каким боком регистр влияет? - это мимо

Вывод на экран - дак на него не 100000 записей выводится. А 10. И преобразование делается не на сервере же ж. А на клиенте это очень быстрая операция. (И на сервере быстрая, но у сервера клиентов много). A c UPPER преобразование делается с КАЖДОЙ записью да еще с NATURAL в плане. Тут не о секундах речь пойдет ;-) Такие дела.

>ИМХО в 99% случаев будет явный пригрышь в производительности
Неа, не будет ;-) Тоже ИМХО


Sergey13   (2003-02-05 10:32:00) [9]

2Sergey Masloff (05.02.03 10:04)
Вот ты про индексы начал. Да индексы при этом не фурычат. Они вроде вообще при %ля-ля% не работают, только при ля-ля%. Но это так, к слову.
По сути. Ну выиграл ты сукунду(1,2,3) при поиске - согласен, может быть. Но если поиск по подстроке - это работа как правило нечастая, то выборка и вывод на экран/бумагу - это работа постоянная. Вот и прикинь сколько ты теряешь при каждом обращении к таким "оптимизированным" данным. ИМХО в 99% случаев будет явный пригрышь в производительности.


Dmitry W.   (2003-02-05 10:08:00) [10]

where FIELD1 containing "EKlient.Text"

containing не чуствителен к регистру


Sergey Masloff   (2003-02-05 10:04:00) [11]

Sergey13 ©
>А если надо хранить - ЗАО "ля ля Тополя и Березы" ? И именно так.
Алгоритм не так сложен как кажется. Скажу так - у меня этот вопрос решен. Не скажу что за 2 часа написано - пара дней подумать и день написать. Но это один раз ведь.

Кстати, у нас есть и эвристический поиск - то есть пользователь набрав "березы и тополя" найдет нужные "Тополя и Березы". Даже если они заведены как Topolya & Beryozy Ltd. Но это уже растопыривание пальцев ;-))


Max Zyuzin   (2003-02-05 09:56:00) [12]

>korvin © (05.02.03 08:47)
http://www.ibase.ru/devinfo/ibrusfaq.htm


Sergey13   (2003-02-05 09:55:00) [13]

2Sergey Masloff (05.02.03 09:45)
А если надо хранить - ЗАО "ля ля Тополя и Березы" ? И именно так. По какому алгоритму приводить к нужному.


Sergey Masloff   (2003-02-05 09:45:00) [14]

Sergey13 ©
Ну то есть как? Хранится "иван иванович иванов" выводится на просмотр пользователю "Иванов И.И." или "Иванов Иван Иванович" или еще как захочет пользователь. Но хранить это в базе совсем необязательно.


Sergey13   (2003-02-05 09:33:00) [15]

2Sergey Masloff (05.02.03 09:30)
>А он об этом узнает? Разницу между ХРАНИМЫМИ и ОТОБРАЖАЕМЫМИ пользователю данными объяснять не надо же ж? ;-)
Как это?


Sergey Masloff   (2003-02-05 09:30:00) [16]

Sergey13 ©
>Не всякий юзер захочет...
А он об этом узнает? Разницу между ХРАНИМЫМИ и ОТОБРАЖАЕМЫМИ пользователю данными объяснять не надо же ж? ;-)

KA_
Написать функцию InitCapFirst - дело двух минут. Зато представь себе поиск без индекса хотя бы на паре сотен тысяч записей... Мне кажется пользователь огорчится гораздо больше если каждый поиск будет по n минут.


AlexSerp   (2003-02-05 09:26:00) [17]

upper(field_name collate pxw_cyrl) containing ""%"+UPPER(EKlient.Text)+"%""
""%"+UPPER(EKlient.Text)+"%""как я понимаю это динамически подставляется в Делфи. Здесь лучше применить AnsiUpperCase(EKlient.Text).
Если нет, то UPPER(EKlient.Text collate pxw_cyrl).

Саня


Кот Бегемот   (2003-02-05 09:19:00) [18]

Деточка - а знаешь ли ты что слово "Клиент" - пишеться вот так вот - Client

А еще не забывай при работе с кириллицей добавлять
upper(sys_client collate PXW_CYRL):)))


KA_   (2003-02-05 09:19:00) [19]

2 Sergey Masloff:
Ну это не всегда возможно. Пользователь может обидиться, если наберет "меня зовут Вася", а получит в ответ "меня зовут вася" :)


Sergey13   (2003-02-05 09:18:00) [20]

2Sergey Masloff (05.02.03 09:02)
>А еще лучше при записи в базу приводить все к одному регистру (без разницы какому).
Это только если он (регистр) не важен. Не всякий юзер захочет иметь текстовые данные в таком "сг(л)аженом" виде.


Страницы:   1 2

Наверх

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