Latest web development tutorials

пункт SQLite Glob

SQLite ОператорGLOB используется для сопоставления заданного значения текста шаблону.Если выражение поиска и выражения сопоставления с образцом, оператор GLOB возвращает true (), который является 1. И LIKE оператор отличается, GLOB чувствителен к регистру, за исключением следующих групповых символов, который соответствует синтаксису UNIX.

  • Звездочка (*)

  • Знак вопроса (?)

Звездочка (*) обозначает ноль, один или несколько цифр или символов. Знак вопроса (?) Представляет одну цифру или символ. Эти символы могут быть использованы в комбинации.

грамматика

? * И основной синтаксис выглядит следующим образом:

SELECT FROM table_name
WHERE столбец GLOB 'XXXX *'

или 

SELECT FROM table_name
WHERE столбец GLOB '* ХХХХ *'

или

SELECT FROM table_name
WHERE столбец GLOB 'XXXX?

или

SELECT FROM table_name
WHERE столбец GLOB '? XXXX'

или

SELECT FROM table_name
WHERE столбец GLOB '? XXXX?

или

SELECT FROM table_name
ГДЕ колонка GLOB '????'

Вы можете использовать AND или OR оператора, чтобы объединить N число условий. Здесь XXXX может быть любое число или значение строки.

примеров

Следующие примеры демонстрируют различные места пункт GLOB с '*' и операторов '?':

语句描述
WHERE SALARY GLOB '200*'查找以 200 开头的任意值
WHERE SALARY GLOB '*200*'查找任意位置包含 200 的任意值
WHERE SALARY GLOB '?00*'查找第二位和第三位为 00 的任意值
WHERE SALARY GLOB '2??'查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY GLOB '*2'查找以 2 结尾的任意值
WHERE SALARY GLOB '?2*3'查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY GLOB '2???3'查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

Давайте рассмотрим практический пример, предположим, что таблица Компания имеет следующие записи:

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000,0
3 Teddy 23 Норвегия 20000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

Вот пример, он показывает таблицу COMPANY Age 2 все записи, начинающиеся с:

SQLite> SELECT * FROM компании, где AGE GLOB '2 *';

Это дает следующие результаты:

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
3 Teddy 23 Норвегия 20000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

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

SQLite> SELECT * FROM АДРЕС КОМПАНИИ ГДЕ GLOB '* - *';

Это дает следующие результаты:

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
4 Mark 25 Рич-Mond 65000,0
6 Ким 22 Юго-зал 45000,0