Hier is een voorbeeld van het retourneren van rijen die alleen niet-alfanumerieke tekens bevatten in SQLite.
Niet-alfanumerieke tekens omvatten leestekens zoals example@sqldat.com#&()–[{}]:;',?/* en symbolen zoals `~$^+=<>“ , evenals witruimtetekens zoals de spatie of tabtekens.
Voorbeeldgegevens
We gebruiken de volgende gegevens voor onze voorbeelden:
SELECT c1 FROM t1; Resultaat:
+----------------------+
| 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 |
+----------------------+
We kunnen de REGEXP . gebruiken operator met een reguliere expressie om de rijen te retourneren die alleen niet-alfanumerieke tekens bevatten:
SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-z0-9]'; Resultaat:
+----------------------+
| c1 |
+----------------------+
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| |
| é |
| É |
| ø |
+----------------------+
In dit geval omvatte mijn uitsluitingsbereik geen alfanumerieke tekens zoals é , É , en ø . Het volgende voorbeeld breidt het bereik uit om die tekens uit het resultaat uit te sluiten:
SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Resultaat:
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“
Onze tabel bevat ook een rij met de lege string. Dit is een niet-alfanumeriek teken en wordt daarom geretourneerd in het bovenstaande resultaat. We kunnen ook de NULLIF() . gebruiken functie om de lege string uit te sluiten van de uitvoer:
SELECT c1 FROM t1
WHERE NULLIF(c1, '') NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Resultaat:
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“