SQLite - предложение LIKE

SQLite LIKEОператор используется для сопоставления текстовых значений с шаблоном с использованием подстановочных знаков. Если поисковое выражение может быть сопоставлено с выражением шаблона, оператор LIKE вернет истину, которая равна 1. В сочетании с оператором 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

Давайте возьмем реальный пример, рассмотрим таблицу COMPANY со следующими записями.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Ниже приведен пример, в котором будут отображаться все записи из таблицы COMPANY, где AGE начинается с 2.

sqlite> SELECT * FROM COMPANY WHERE AGE LIKE '2%';

Это даст следующий результат.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Ниже приведен пример, в котором будут отображаться все записи из таблицы КОМПАНИЯ, где АДРЕС будет иметь дефис (-) внутри текста.

sqlite> SELECT * FROM COMPANY WHERE ADDRESS  LIKE '%-%';

Это даст следующий результат.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0