Резюме :в този урок ще научите как да използвате SQLite GLOB оператор, за да определи дали низ съответства на конкретен модел.
Въведение в SQLite GLOB оператор
GLOB операторът е подобен на LIKE оператор. GLOB операторът определя дали низ съответства на конкретен модел.
За разлика от LIKE оператор, GLOB операторът е чувствителен към малките букви и използва UNIX заместващи символи. В допълнение, GLOB шаблоните нямат екраниращи знаци.
По-долу са показани заместващите знаци, използвани с GLOB оператор:
- Заместващият знак звездичка (*) съответства на произволен брой знаци.
- Въпросителният знак (?) заместващ знак съответства точно на един знак.
Върху тези заместващи знаци можете да използвате заместващия знак на списъка [], за да съпоставите един знак от списък със знаци. Например [xyz] съответства на всеки единичен знак x, y или z.
Списъчният заместващ знак също позволява набор от знаци, например [a-z] съответства на всеки единичен символ с малки букви от a до z. [a-zA-Z0-9] шаблонът съответства на всеки единичен буквено-цифров знак, както малки, така и главни.
Освен това можете да използвате знака ^ в началото на списъка, за да съответства на всеки знак с изключение на всеки знак в списъка. Например [^0-9] шаблонът съответства на всеки единичен знак с изключение на числов знак.
SQLite GLOB примери
Следният оператор намира песни, чиито имена започват с низа Man . Моделът Man* съответства на всеки низ, който започва с Man .
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB 'Man*';Code language: SQL (Structured Query Language) (sql) Опитайте го
Следното изявление получава песните, чиито имена завършват с Man . Моделът *Man съответства на всеки низ, който завършва с Man .
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*Man';Code language: SQL (Structured Query Language) (sql) Опитайте го
Следната заявка намира песните, чиито имена започват с произволен единичен знак (?), последван от низа ere и след това произволен брой знаци (*).
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '?ere*';Code language: SQL (Structured Query Language) (sql) Опитайте го
За да намерите песните, чиито имена съдържат числа, можете да използвате заместващия знак на списъка [0-9] както следва:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]*';Code language: SQL (Structured Query Language) (sql) Опитайте го
Или за да намерите песните, чието име не съдържа номер, поставяте знака ^ в началото на списъка:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[^1-9]*';Code language: SQL (Structured Query Language) (sql) Опитайте го
Следното изявление намира песните, чиито имена завършват с число.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]';Code language: SQL (Structured Query Language) (sql) Опитайте го
В този урок научихте как да използвате SQLite GLOB оператор, за да провери дали низ съответства на конкретен модел.