Класс LIKE используется для сравнения значения для аналогичных значений с использованием подстановочных знаков. Есть два подстановочных знака, используемые в сочетании с оператором LIKE.
Знак процента представляет ноль, один или несколько символов. Подчеркивание представляет собой одно целое число или символ. Эти символы могут быть использованы в комбинации.
Базовый синтаксис % и _ выглядит следующим образом:
SELECT FROM table_name WHERE column LIKE 'XXXX%' или SELECT FROM table_name WHERE column LIKE '%XXXX%' или SELECT FROM table_name WHERE column LIKE 'XXXX_' или SELECT FROM table_name WHERE column LIKE '_XXXX' или SELECT FROM table_name WHERE column LIKE '_XXXX_'
Вы можете объединить N число условий с помощью операторов AND или OR. Здесь XXXX может быть любым числовым или строковым значением.
Следующая таблица содержит несколько примеров, показывающих, часть WHERE, имеющий LIKE с комбинациями знаков «_» «%»
Sr.No. | Заявление и описание |
---|---|
1 | WHERE SALARY LIKE ‘200%’ Находит все значения, которые начинаются с 200. |
2 | WHERE SALARY LIKE ‘%200%’ Находит все значения, которые имеют 200 в любом положении. |
3 | WHERE SALARY LIKE ‘_00%’ Находит все значения, которые имеют 00 во второй и третьей позиции. |
4 | WHERE SALARY LIKE ‘2_%_%’ Находит все значения, которые начинаются с 2, и по меньшей мере, 3-х символов в длину. |
5 | WHERE SALARY LIKE ‘%2’ Находит любые значения, которые заканчиваются на цифру 2. |
6 | WHERE SALARY LIKE ‘2%3’ Находит любые значения, которые имеют 2 во втором положении и в конце значение 3. |
7 | WHERE SALARY LIKE ‘2___3’ Находит любые значения в пять-значным числом, которые начинаются на 2 и заканчивается на 3. |
Возьмем реальный пример, рассмотрим таблицу клиентов, имеющих записи, как показано ниже.
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Moscow | 21000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 5 | Ruslan | 34 | Omsk | 43000.00 | | 6 | Dima | 32 | SP | 45000.00 | | 7 | Roma | 34 | SP | 10000.00 | +----+----------+-----+-----------+----------+
Ниже приведен пример, который будет отображать все записи из таблицы клиентов, где SALARY начинается с 4.
SQL> SELECT * FROM CUSTOMERS WHERE SALARY LIKE '4%';
Это выдаст следующий результат:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ruslan | 34 | Omsk | 43000.00 | | 3 | Dima | 32 | SP | 45000.00 | +----+----------+-----+-----------+----------+