Функция SQLite like ()
Описание
Функция like () используется для реализации выражения «Y LIKE X [ESCAPE Z]». Если присутствует необязательное предложение ESCAPE, то функция like () вызывается с тремя аргументами. В противном случае он вызывается только с двумя аргументами. Обратите внимание, что параметры X и Y обращаются в функции like () относительно инфиксного оператора LIKE.
Примечание. Интерфейс sqlite3_create_function () можно использовать для переопределения функции like () и, таким образом, изменения операции оператора LIKE. При переопределении функции like () может быть важно переопределить версии с двумя и тремя аргументами функции like (). В противном случае может быть вызван другой код для реализации оператора LIKE в зависимости от того, было ли указано предложение ESCAPE.
Оператор SQLite LIKE вместе с WILDCARDS находит строку указанного шаблона в другой строке.
В более техническом примечании оператор LIKE выполняет сопоставление с образцом, используя простое сравнение регулярных выражений.
Это таблица, которая описывает шаблоны, используемые с оператором SQLite LIKE -
Wildcards | Описание |
---|---|
% | Соответствует любому количеству символов, включая ноль. |
_ | Соответствует ровно одному символу. |
Синтаксис:
как (X, Y), как (X, Y, Z)
Аргумент:
название | Описание |
---|---|
похлопывание | Шаблон, который должен соответствовать. |
Пример таблицы: автор
aut_id aut_name страна home_city ---------- -------------- ---------- ---------- AUT001 Уильям Нортон, Великобритания, Кембридж AUT002 Уильям Мауха Канада Торонто AUT003 Уильям Энтон Великобритания Лидс AUT004 SBSwaminatha Индия Бангалор AUT005 Томас Морган Германия Арнсберг AUT006 Томас Мертон США Нью-Йорк AUT007 Пирс Гибсон Великобритания Лондон AUT008 Николай Дьюи США Атланта AUT009 Маркиз де Эль Бразилия Рио Де Ян AUT010 Джозеф Милтон США Хьюстон AUT011 John Betjeman Австралия Сидней AUT012 Эван Хайек Канада Ванкувер AUT013 E. Говард, Австралия, Аделаида AUT014 CJ Wilde UK London AUT015 Батлер Андре США Флорида
Пример оператора SQLite LIKE с подстановочным знаком (%), совпадающим с начала
Следующий оператор SQLite вернет те строки из таблицы author, в которых имя автора начинается с символа «W».
SELECT aut_name, country
FROM author
WHERE LIKE('W%',aut_name)=1;
Вот вывод.
Пример вывода:
aut_name страна -------------- --------- Уильям Нортон Великобритания Уильям Мауха Канада Уильям Энтон Великобритания
Пример оператора SQLite LIKE с подстановочным знаком (%), совпадающим с конца
Следующий оператор SQLite вернет те строки из таблицы author, в которых имя автора заканчивается подстрокой «on».
SELECT aut_name, country
FROM author
WHERE LIKE('%on',aut_name)=1;
Вот вывод.
Пример вывода:
aut_name страна -------------- ---------- Уильям Нортон Великобритания Томас Мертон США APiers Gibson UK Джозеф Милтон США
Пример оператора SQLite LIKE с подстановочным знаком (%) в строке
Следующий оператор SQLite вернет те строки из таблицы author, в которых имя автора содержит «an».
SELECT aut_name, country
FROM author
WHERE LIKE('%an%',aut_name)=1;
Вот вывод.
Пример вывода:
aut_name страна -------------------------------------------------- ---------- Уильям Энтони Великобритания SBSwaminathan India Томас Морган Германия Джон Бежеман Хантер Австралия Эван Хайек Канада Батлер Андре США
Пример: оператор SQLite LIKE, соответствующий указанной строке
Следующее утверждение MySQL ищет всех авторов, чьи родные города, такие как «Лондон», «Лэндон» и т. Д., Подстановочный знак подчеркивания используется для упоминания одного символа.
SELECT aut_name, country,home_city
FROM author
WHERE LIKE('L_n_on',home_city)=1;
Вот вывод.
Пример вывода:
aut_name страна home_city ------------------------------ ---------- ---------- Пирс Гибсон Великобритания Лондон CJ Wilde UK London
Пример оператора SQLite LIKE, совпадающего с escape-символом
Вот пример теста таблицы.
Пример вывода:
таблица - тест ОПИСАНИЕ --------------- w3resourcew3% resourcew3r% e_sourcew3r_esourcew3r% __ esource
В SQLite строка ESCAPE по умолчанию - "/". Следующий оператор SQLite возвращает те записи, в столбце описания которых содержится r% '.
SELECT *
FROM test
WHERE LIKE('%r\%%',descrip,'\')=1;
Вот вывод.
Пример вывода:
ОПИСАНИЕ ----------------- w3r% e_sourcew3r% __ esource
В приведенном выше примере символ ESCAPE '/' использовался после LIKE ('% r, после того, как были использованы два символа%, первый - символ поиска, а второй - символ сопоставления с образцом. Третий параметр в подобно функции символ ESCAPE использовался для поиска символа подстановки%.
Вот еще один пример
SELECT *
FROM test
WHERE LIKE('%\_e%',descrip,'\')=1;
Вот вывод.
Пример вывода:
ОПИСАНИЕ ---------------- w3r_esourcew3r% __ esource
В приведенном выше примере символ ESCAPE '/' использовался после LIKE ('%, после этого символ поиска подчеркивается (_), а последний символ% предназначен для символа сопоставления с образцом. Третий параметр в функции like, символ ESCAPE были использованы для поиска символа подчеркивания (_).
Пример оператора SQLite LIKE, совпадающего с начальной и конечной строкой
Подстановочные знаки также можно использовать в середине шаблона поиска. Следующая инструкция SQLite найдет всех авторов, чьи имена начинаются с 't' и заканчиваются на 'n'.
SELECT aut_name, country
FROM author
WHERE LIKE('t%n',aut_name);
Вот вывод.
Пример вывода:
aut_name страна ------------------------------ ---------- Томас Морган Германия Томас Мертон США
Пример оператора SQLite LIKE, совпадающего с точным количеством символов
Следующий оператор SQLite вернет те строки из автора таблицы, в которых длина имени автора составляет ровно 12 символов. Двенадцать «_» были использованы для обозначения 12 символов.
SELECT aut_name, country
FROM author
WHERE LIKE('____________',aut_name);
Вот вывод.
Пример вывода:
aut_name страна ------------------------------ -------- Пирс Гибсон Великобритания Батлер Андре США
Новый контент: Composer: менеджер зависимостей для PHP , R программирования