кодесурса
«SQLite

Функция SQLite like ()

script1adsense2code
script1adsense3code

Описание

Функция 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 программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code