English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Оператор LIKE в SQLite используется для сравнения текстовых значений с шаблоном с помощью подстановочных знаков. Если строка поиска соответствует шаблону, оператор LIKE возвращает true, то есть 1. В операторе 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_'
Можете использовать операторы логического И (AND) или ИЛИ (OR) для комбинирования n условий. Здесь XXXX может быть любым числовым или строковым значением.
В таблице ниже приведены многие примеры, показывающие, что часть WHERE содержит различные LIKE подзапросы, содержащие операторы '%' и '_'.
Номер | Декларации и пояснения |
---|---|
1 |
Найти любое значение, начинающееся с 200 |
2 |
Найти любое значение, где в любом месте есть 200 |
3 |
Найти любое значение, где второе и третье места имеют 00 |
4 |
Найти любое значение, начинающееся с 2 и длиной не менее 3 символов |
5 |
Найти любое значение, заканчивающееся на 2 |
6 |
Найти любое значение, начинающееся со второго места с 2 и заканчивающееся на 3 |
7 |
Найти любое значение в пятизначном числе, начинающемся с 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 '%-%';
Это приведет к следующим результатам。
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000.0 6 Kim 22 South-Hall 45000.0