Оператор SQLite LIKE используется для сопоставления текстовых значений с шаблоном с использованием подстановочных знаков. Если поисковое выражение можно сопоставить с выражением шаблона, оператор LIKE вернет значение true, равное 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 |
Где заработная плата, как «200%» Находит любые значения, которые начинаются с 200 |
2 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ «% 200%» Находит любые значения, которые имеют 200 в любой позиции |
3 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_00%’ Находит любые значения, которые имеют 00 во второй и третьей позиции |
4 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘2 _% _%’ Находит любые значения, которые начинаются с 2 и имеют длину не менее 3 символов |
5 |
ГДЕ НАГРАДНАЯ НРАВИТСЯ ‘% 2’ Находит любые значения, которые заканчиваются на 2 |
6 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_2% 3’ Находит любые значения, которые имеют 2 во второй позиции и заканчиваются на 3 |
7 |
Где заработная плата, как «2___3» Находит любые значения в пятизначном числе, которое начинается с 2 и заканчивается на 3 |
Где заработная плата, как «200%»
Находит любые значения, которые начинаются с 200
ГДЕ НАЛОГОВАЯ НРАВИТСЯ «% 200%»
Находит любые значения, которые имеют 200 в любой позиции
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_00%’
Находит любые значения, которые имеют 00 во второй и третьей позиции
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘2 _% _%’
Находит любые значения, которые начинаются с 2 и имеют длину не менее 3 символов
ГДЕ НАГРАДНАЯ НРАВИТСЯ ‘% 2’
Находит любые значения, которые заканчиваются на 2
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_2% 3’
Находит любые значения, которые имеют 2 во второй позиции и заканчиваются на 3
Где заработная плата, как «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
Ниже приведен пример, в котором будут отображаться все записи из таблицы COMPANY, где в тексте ADDRESS будет стоять дефис (-).
sqlite> SELECT * FROM COMPANY WHERE ADDRESS LIKE '%-%';
Это даст следующий результат.