SQLite
 sql >> Database >  >> RDS >> SQLite

SQLite GLOB

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.