Hier is een voorbeeld van het retourneren van rijen die alfanumerieke tekens bevatten in SQLite.
Alfanumerieke tekens zijn alfabetische tekens en numerieke tekens.
Voorbeeld
Stel dat we een tabel hebben met de volgende gegevens:
SELECT c1 FROM t1;
Resultaat:
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 alleen die rijen te retourneren die alleen alfanumerieke tekens bevatten:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$';
Resultaat:
Music 007
In dit geval heb ik geen unicode-tekens zoals é
. opgenomen , É
, of ø
in mijn bereik, en dus worden alle rijen die deze tekens bevatten uitgesloten van de uitvoer.
Je moet ervoor zorgen dat je de relevante karakters hebt behandeld wanneer je dit doet.
Hier is een voorbeeld van het uitbreiden van het bereik om deze tekens op te nemen:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';
Resultaat:
Music Café 007 é É ø
Het spatieteken is niet-alfanumeriek. Om rijen die spaties bevatten te retourneren, kunnen we daarom een spatie toevoegen aan onze reguliere expressie:
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9 ]+$';
Resultaat:
Music Live Music Café Café Del Mar 100 Cafés Player 456 007 é É é 123 ø ø 123
We kunnen de volgende code gebruiken om alle rijen op te nemen die bevatten tekens uit ons assortiment (zelfs als ze ook tekens buiten dit bereik bevatten):
SELECT c1 FROM t1
WHERE c1 REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';
Resultaat:
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 $1.50 Player 456 007 é É é 123 ø ø 123