Hier is een voorbeeld van het retourneren van rijen die alleen niet-alfanumerieke tekens bevatten in SQLite.
Niet-alfanumerieke tekens omvatten leestekens zoals [email protected]#&()–[{}]:;',?/*
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 | | [email protected] | | 1 + 1 | | () | | [email protected]#&()–[{}]:;',?/* | | `~$^+=<>“ | | $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 | +----------------------+ | () | | [email protected]#&()–[{}]:;',?/* | | `~$^+=<>“ | | | | é | | É | | ø | +----------------------+
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:
() [email protected]#&()–[{}]:;',?/* `~$^+=<>“
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:
() [email protected]#&()–[{}]:;',?/* `~$^+=<>“