Оператор SQLite LIKE
Вступление
Оператор SQLite LIKE проверяет, соответствует ли конкретная символьная строка указанному шаблону. Операнд справа от оператора LIKE содержит шаблон, а левый операнд содержит строку для сопоставления с шаблоном.
- Символ процента ("%") в шаблоне LIKE соответствует любой последовательности из нуля или более символов в строке.
- Подчеркивание ("_") в шаблоне LIKE соответствует любому отдельному символу в строке.
- Любой другой символ соответствует самому себе или его эквиваленту в нижнем / верхнем регистре (т.е. сопоставление без учета регистра). (Ошибка: SQLite по умолчанию понимает только верхний / нижний регистр символов ASCII.
- Оператор LIKE по умолчанию чувствителен к регистру символов Unicode, выходящих за пределы диапазона ASCII. Например, выражение 'a' LIKE 'A' равно TRUE, а 'æ' LIKE 'Æ' равно FALSE.)
Синтаксис:
expr LIKE pattern [ESCAPE 'escape_char']
Если присутствует необязательное предложение ESCAPE, выражение после ключевого слова ESCAPE должно содержать строку, состоящую из одного символа. Этот символ может использоваться в шаблоне LIKE для включения буквенного процента или символов подчеркивания. Экранирующий символ, сопровождаемый символом процента (%), подчеркиванием (_) или вторым экземпляром самого экранирующего символа, соответствует буквальному символу процента, подчеркиванию или одному escape-символу соответственно.
Оператор GLOB похож на LIKE, но использует синтаксис глобализации файлов Unix для своих подстановочных знаков. Кроме того, GLOB чувствителен к регистру, в отличие от LIKE. И GLOB, и LIKE может предшествовать ключевое слово NOT, чтобы инвертировать смысл теста. Инфиксный оператор GLOB реализуется путем вызова функции glob (Y, X) и может быть изменен путем переопределения этой функции.
Версия SQLite: 3.8
Пример: оператор SQLite LIKE
Следующий оператор SQLite сканирует всю таблицу авторов, чтобы найти любое имя автора, имя которого начинается с символа «B», за которым следуют любые символы.
Пример таблицы: автор
SELECT aut_name, country
FROM author
WHERE aut_name LIKE 'B%';
Вот результат.
aut_name страна ------------ ---------- Батлер Андре США
Пример: оператор SQLite LIKE, соответствующий концу
Следующий оператор SQLite сканирует всю таблицу авторов, чтобы найти любого автора, имя которого заканчивается строкой «on».
Пример таблицы: автор
SELECT aut_name, country
FROM author
WHERE aut_name LIKE '%on';
Вот результат.
aut_name страна -------------- ---------- Уильям Нортон Великобритания Томас Мертон США Пирс Гибсон Великобритания Джозеф Милтон США
Пример: оператор SQLite LIKE, соответствующий в строке
Следующий оператор SQLite сканирует всю таблицу авторов, чтобы найти любого автора, в имени которого есть строка «an». Имя автора хранится в столбце aut_name.
Пример таблицы: автор
SELECT aut_name, country
FROM author
WHERE aut_name LIKE '%an%';
Вот результат.
aut_name страна --------------- ---------- Уильям Энтони Великобритания SBSwaminathan India Томас Морган Германия John Betjeman H Австралия Эван Хайек Канада Батлер Андре США
Пример: оператор SQLite LIKE, соответствующий указанной строке
Следующая инструкция SQLite ищет всех авторов, чей родной город, например, «Лидс», «Лидс» и т. Д., Подстановочный знак подчеркивания используется для упоминания одного символа.
Пример таблицы: автор
SELECT aut_name, country,home_city
FROM author
WHERE home_city LIKE 'L_e_s';
Вот результат.
aut_name страна home_city --------------- ---------- ---------- Уильям Энтони Великобритания Лидс
Пример: оператор SQLite LIKE, соответствующий управляющему символу
Для поиска символа подстановки или комбинации символа подстановки и любого другого символа символу подстановки должен предшествовать строка ESCAPE. В SQLite строка ESCAPE по умолчанию - «/». Следующий оператор SQLite возвращает те записи, для которых isbn_no содержит «15».
Пример таблицы: book_mast
SELECT book_name,isbn_no,no_page,book_price
FROM book_mast
WHERE isbn_no LIKE '%15%';
Вот результат.
book_name isbn_no no_page book_price -------------------- ---------- ---------- ---------- Анатомия и физиология 0000979015 225 135
Пример: оператор SQLite LIKE, соответствующий начальной и конечной строке
Подстановочные знаки также можно использовать в середине шаблона поиска. Следующая инструкция SQLite, приведенная выше, найдет всех авторов, чьи имена начинаются с 'w' и заканчиваются на 'y'.
SELECT aut_name, country
FROM author
WHERE aut_name LIKE 'w%y';
Вот результат.
aut_name страна --------------- ---------- Уильям Энтони Великобритания
Пример таблицы: автор
Предыдущая: Булевы операторы
Далее: МЕЖДУ Оператором
Новый контент: Composer: менеджер зависимостей для PHP , R программирования