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 [email protected] 1 + 1 () [email protected]#&()–[{}]:;',?/* `~$^+=<>“ $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 [email protected] 1 + 1 $1.50 Player 456 007 é É é 123 ø ø 123