Riepilogo :in questo tutorial imparerai come usare SQLite GLOB per determinare se una stringa corrisponde a un modello specifico.
Introduzione a SQLite GLOB operatore
Il GLOB l'operatore è simile a LIKE operatore. Il GLOB determina se una stringa corrisponde a un modello specifico.
A differenza del LIKE operatore, il GLOB l'operatore è maiuscole/minuscole e utilizza i caratteri jolly UNIX. Inoltre, il GLOB i modelli non hanno caratteri di escape.
Quanto segue mostra i caratteri jolly utilizzati con il GLOB operatore:
- Il carattere jolly asterisco (*) corrisponde a qualsiasi numero di caratteri.
- Il carattere jolly punto interrogativo (?) corrisponde esattamente a un carattere.
Oltre a questi caratteri jolly, puoi utilizzare il carattere jolly dell'elenco [] per abbinare un carattere da un elenco di caratteri. Ad esempio [xyz] corrisponde a qualsiasi singolo carattere x, y o z.
Il carattere jolly dell'elenco consente anche un intervallo di caratteri, ad esempio [a-z] corrisponde a qualsiasi singolo carattere minuscolo da a a z. Il [a-zA-Z0-9] il modello corrisponde a qualsiasi singolo carattere alfanumerico, sia minuscolo che maiuscolo.
Inoltre, puoi usare il carattere ^ all'inizio dell'elenco in modo che corrisponda a qualsiasi carattere ad eccezione di qualsiasi carattere nell'elenco. Ad esempio, il [^0-9] il modello corrisponde a qualsiasi singolo carattere tranne un carattere numerico.
SQLite GLOB esempi
La seguente istruzione trova le tracce i cui nomi iniziano con la stringa Man . Il modello Man* corrisponde a qualsiasi stringa che inizia con Man .
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB 'Man*';Code language: SQL (Structured Query Language) (sql) Provalo
La seguente istruzione ottiene le tracce i cui nomi terminano con Man . Il modello *Man corrisponde a qualsiasi stringa che termina con Man .
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*Man';Code language: SQL (Structured Query Language) (sql) Provalo
La query seguente trova le tracce i cui nomi iniziano con un qualsiasi carattere (?), seguito dalla stringa ere e poi un numero qualsiasi di caratteri (*).
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '?ere*';Code language: SQL (Structured Query Language) (sql) Provalo
Per trovare le tracce i cui nomi contengono numeri, puoi utilizzare il carattere jolly dell'elenco [0-9] come segue:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]*';Code language: SQL (Structured Query Language) (sql) Provalo
Oppure per trovare le tracce il cui nome non contiene alcun numero, inserisci il carattere ^ all'inizio dell'elenco:
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[^1-9]*';Code language: SQL (Structured Query Language) (sql) Provalo
La seguente istruzione trova le tracce i cui nomi terminano con un numero.
SELECT
trackid,
name
FROM
tracks
WHERE
name GLOB '*[1-9]';Code language: SQL (Structured Query Language) (sql) Provalo
In questo tutorial, hai imparato a usare SQLite GLOB per verificare se una stringa corrisponde a un modello specifico.