Резюме :в този урок ще научите как да използвате 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
оператор, за да провери дали низ съответства на конкретен модел.