Ecco un esempio di restituzione di righe che contengono solo caratteri non alfanumerici in SQLite.
I caratteri non alfanumerici includono segni di punteggiatura come example@sqldat.com#&()–[{}]:;',?/* e simboli come `~$^+=<>“ , oltre a spazi bianchi come spazi o caratteri di tabulazione.
Dati campione
Utilizzeremo i seguenti dati per i nostri esempi:
SELECT c1 FROM t1; Risultato:
+----------------------+
| c1 |
+----------------------+
| 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 le righe che contengono solo caratteri non alfanumerici:
SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-z0-9]'; Risultato:
+----------------------+
| c1 |
+----------------------+
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| |
| é |
| É |
| ø |
+----------------------+
In questo caso, il mio intervallo di esclusione non copriva i caratteri alfanumerici come é , É e ø . L'esempio seguente espande l'intervallo per escludere quei caratteri dal risultato:
SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Risultato:
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“
La nostra tabella contiene anche una riga con la stringa vuota. Questo è un carattere non alfanumerico e quindi viene restituito nel risultato precedente. Possiamo anche usare il NULLIF() funzione per escludere la stringa vuota dall'output:
SELECT c1 FROM t1
WHERE NULLIF(c1, '') NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Risultato:
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“