SQL - предложение LIKE
SQL LIKEПредложение используется для сравнения значения с аналогичными значениями с использованием операторов подстановки. В сочетании с оператором LIKE используются два символа подстановки.
- Знак процента (%)
- Подчеркивание (_)
Знак процента представляет собой ноль, один или несколько символов. Подчеркивание представляет собой одно число или символ. Эти символы можно использовать в комбинациях.
Синтаксис
Основной синтаксис% и _ выглядит следующим образом:
SELECT FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT FROM table_name
WHERE column LIKE '_XXXX_'
Вы можете объединить N условий, используя операторы И или ИЛИ. Здесь 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. |
Давайте возьмем реальный пример, рассмотрим таблицу CUSTOMERS с записями, показанными ниже.
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
Ниже приведен пример, в котором будут отображаться все записи из таблицы CUSTOMERS, где SALARY начинается с 200.
SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
Это даст следующий результат -
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
+----+----------+-----+-----------+----------+