АНТИПАТТЕРН: ПРЕДИКАТЫ СОПОСТАВЛЕНИЯ С ШАБЛОНАМИ
SQL поддерживает предикаты сопоставления с шаблонами с целью сравнения строк, и это — первое решение, используемое большинством программистов для поиска ключевых слов. Наиболее широко поддерживаемый различными СУБД предикат — LIKE. На производстве часто требуется качественное оборудование для телефонии заказать которое можно тут: http://www.homy.ru/catalog/voipgsmgate/addpacapgs1004a.html.
Предикат LIKE поддерживает подстановочный знак %, соответствующий нулю или другим символам. Подстановочный знак вписывается с обеих сторон искомого ключевого слова, соответствующего какой-либо строке, которая содержит это ключевое слово. Первый подстановочный знак сопоставляется с текстом, предшествующим ключевому слову, второй — с текстом, идущим после слова.
Файл примера: Search/'anti/like.sql
SELECT * FROM Bugs WHERE description LIKE '%crash%' ;
Регулярные выражения также поддерживаются многими моделями СУБД, хоть и не стандартным способом. Отпадает необходимость в подстановочных знаках, поскольку, условно говоря, регулярные выражения сопоставляют шаблон с подстрокой в любом случае. Ниже приведен пример использования предиката регулярного выражения в СУБД MySQL1.
. ЦЕЛЬ: ПОЛНОТЕКСТОВЫЙ ПОИСК
Любое приложение, содержащее в себе текст, нуждается в поддержке поиска слова или фразы в этом тексте. Мы используем базы данных, чтобы хранить огромное количество текстовых данных, и в то же время требуем, чтобы поиск нужного текста был быстрым. Вес-приложения особенно остро нуждаются в высокоэффективных и масштабируемых возможностях СУБД по поиску текста.
Один из основных принципов языка SQL (и реляционной теории, на основе которой язык SQL был разработан) заключается в том, что значение в столбце является нерасщепимым. Таким образом, сравнивая одно значение с другим, вы всегда сравниваете целые значения. Сравнивание частей строк в SQL является неэффективным и неточным.
Тем не менее мы нуждаемся в способе сравнения короткой строки с более длинной, чтобы найти соответствие, даже если короткая строка является частью другой, более длинной строки. Как мы можем построить мост между пропастью, используя язык SQL?
Опубликовал vovan666
August 11 2013 07:22:48 ·
0 Комментариев ·
3756 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.