Ecco un esempio di restituzione di righe che contengono caratteri alfanumerici in SQLite.
I caratteri alfanumerici sono caratteri alfabetici e caratteri numerici.
Esempio
Supponiamo di avere una tabella con i seguenti dati:
SELECT c1 FROM t1; Risultato:
Music
Live Music
Café
Café Del Mar
100 Cafés
example@sqldat.com
1 + 1
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“
$1.50
Player 456
007
null
é
É
é 123
ø
ø 123
Possiamo usare il REGEXP operatore con un'espressione regolare per restituire solo quelle righe che contengono solo caratteri alfanumerici:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$'; Risultato:
Music 007
In questo caso, non ho incluso caratteri Unicode come é , É o ø nel mio intervallo, quindi tutte le righe che contengono quei caratteri sono escluse dall'output.
Dovrai assicurarti di aver coperto i personaggi pertinenti durante questa operazione.
Ecco un esempio di espansione dell'intervallo per includere quei caratteri:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$'; Risultato:
Music Café 007 é É ø
Il carattere spazio non è alfanumerico. Pertanto, per restituire righe che includono spazi, possiamo aggiungere uno spazio alla nostra espressione regolare:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9 ]+$'; Risultato:
Music Live Music Café Café Del Mar 100 Cafés Player 456 007 é É é 123 ø ø 123
Possiamo usare il codice seguente per includere tutte le righe che contengono caratteri del nostro intervallo (anche se contengono anche caratteri al di fuori di questo intervallo):
SELECT c1 FROM t1
WHERE c1 REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Risultato:
Music Live Music Café Café Del Mar 100 Cafés example@sqldat.com 1 + 1 $1.50 Player 456 007 é É é 123 ø ø 123