Предикат SQL: LIKE.

Предикат LIKE сравнивает строку, указанную в первом выражении, для вычисления значения строки, называемого проверяемым значением, с образцом, который определен во втором выражении для вычисления значения строки. Синтаксис:

expression [ NOT ] LIKE pattern

где, expression — любое символьное выражение. pattern — шаблон, по которому будет происходить проверка выражения expression. Шаблон может включать в себя следующие спец. символы:

  • символ подчеркивания (_), который можно применять вместо любого единичного символа в проверяемом значении;
  • символ процента (%) заменяет последовательность любых символов (число символов в последовательности может быть от 0 и более) в проверяемом значении;
  • [] – диапазон или последовательность символов;
  • [^] – исключающий диапазон или последовательность символов.

Рассмотрим примеры. Возьмём таблицу Universities:

ID UniversityName Students Faculties Professores Location Site
1 Perm State National Research University 12400 12 1229 Perm psu.ru
2 Saint Petersburg State University 21300 24 13126 Saint-Petersburg  spbu.ru
3 Novosibirsk State University 7200 13 1527 Novosibirsk nsu.ru
4 Moscow State University 35100 39 14358 Moscow msu.ru
5 Higher School of Economics 20335 12 1615 Moscow hse.ru
6 Ural Federal University 57000 19 5640 Yekaterinburg urfu.ru
7 National Research Nuclear University 8600 10 936 Moscow mephi.ru

Пример 1. С помощью предиката LIKE вывести записи университетов, имеющих в своем названии слово «State»:

SELECT * FROM Universities WHERE UniversityName LIKE '%State%';

Результат:

ID UniversityName Students Faculties Professores Location Site
1 Perm State National Research University 12400 12 1229 Perm psu.ru
2 Saint Petersburg State University 21300 24 13126 Saint-Petersburg  spbu.ru
3 Novosibirsk State University 7200 13 1527 Novosibirsk nsu.ru
4 Moscow State University 35100 39 14358 Moscow msu.ru

Пример 2. С помощью предиката LIKE вывести записи университетов, доменное имя сайта которых содержит 4 символа (за исключением домена .ru):

SELECT * FROM Universities WHERE Site LIKE '____.ru';

Результат:

ID UniversityName Students Faculties Professores Location Site
2 Saint Petersburg State University 21300 24 13126 Saint-Petersburg  spbu.ru
6 Ural Federal University 57000 19 5640 Yekaterinburg urfu.ru

Пример 3. С помощью предиката LIKE вывести записи университетов, первая буква доменного имени сайта которых содержит буквы из диапазона [k-o]:

SELECT * FROM Universities WHERE Site LIKE '[k-o]%';

Результат:

ID UniversityName Students Faculties Professores Location Site
3 Novosibirsk State University 7200 13 1527 Novosibirsk nsu.ru
4 Moscow State University 35100 39 14358 Moscow msu.ru
7 National Research Nuclear University 8600 10 936 Moscow mephi.ru

Пример 4. С помощью предиката LIKE вывести записи университетов, вторая буква названия города которых, не входит в диапазон [e-o]:

SELECT * FROM Universities WHERE Location LIKE '_[^e-o]%';

Результат:

ID UniversityName Students Faculties Professores Location Site
2 Saint Petersburg State University 21300 24 13126 Saint-Petersburg  spbu.ru

Для лучшего закрепления нового материала советую отработать все примеры самостоятельно на своем компьютере.

Видео:



 
Поделиться в facebook
Facebook
Поделиться в twitter
Twitter
Поделиться в vk
VK
Поделиться в google
Google+
Поделиться в email
Email

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Группа в VK

Помощь проекту

Обнаружили опечатку?

Сообщите нам об этом, выделите текст с ошибкой и нажмите Ctrl+Enter, будем очень признательны!

Свежие статьи

Похожие статьи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: