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.