Podsumowanie :w tym samouczku dowiesz się, jak używać SQLite GLOB
operatora, aby określić, czy ciąg pasuje do określonego wzorca.
Wprowadzenie do SQLite GLOB
operator
GLOB
operator jest podobny do LIKE
operator. GLOB
operator określa, czy ciąg pasuje do określonego wzorca.
W przeciwieństwie do LIKE
operator, GLOB
operator rozróżnia wielkość liter i używa symboli wieloznacznych UNIX. Ponadto GLOB
wzory nie mają znaków ucieczki.
Poniżej przedstawiono symbole wieloznaczne używane z GLOB
operator:
- Gwiazdka (*) pasuje do dowolnej liczby znaków.
- Symbol zapytania (?) pasuje dokładnie do jednego znaku.
Oprócz symboli wieloznacznych możesz użyć symbolu wieloznacznego listy [], aby dopasować jeden znak z listy znaków. Na przykład [xyz]
dopasuj dowolny pojedynczy znak x, y lub z.
Symbol wieloznaczny listy dopuszcza również zakres znaków, np. [a-z] pasuje do dowolnego pojedynczego znaku małej litery od a do z. [a-zA-Z0-9]
wzorzec pasuje do dowolnego pojedynczego znaku alfanumerycznego, zarówno małych, jak i wielkich liter.
Poza tym możesz użyć znaku ^
na początku listy, aby dopasować dowolny znak z wyjątkiem dowolnego znaku na liście. Na przykład [^0-9]
wzorzec pasuje do dowolnego pojedynczego znaku z wyjątkiem znaku numerycznego.
SQLite GLOB
przykłady
Poniższa instrukcja wyszukuje utwory, których nazwy zaczynają się od ciągu Man
. Wzorzec Man*
dopasowuje dowolny ciąg rozpoczynający się od Man
.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB 'Man*';
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Poniższa instrukcja pobiera utwory, których nazwy kończą się na Man
. Wzorzec *Man
dopasowuje dowolny ciąg, który kończy się na Man
.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*Man';
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Poniższe zapytanie wyszukuje utwory, których nazwy zaczynają się od dowolnego pojedynczego znaku (?), po którym następuje ciąg ere
a następnie dowolna liczba znaków (*).
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '?ere*';
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Aby znaleźć utwory, których nazwy zawierają cyfry, możesz użyć symbolu wieloznacznego listy [0-9]
w następujący sposób:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]*';
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Lub, aby znaleźć utwory, których nazwa nie zawiera żadnej liczby, umieść znak ^
na początku listy:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[^1-9]*';
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
Poniższa instrukcja wyszukuje utwory, których nazwy kończą się cyfrą.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]';
Code language: SQL (Structured Query Language) (sql)
Wypróbuj
W tym samouczku nauczyłeś się korzystać z SQLite GLOB
operatora, aby sprawdzić, czy ciąg pasuje do określonego wzorca.