Voici un exemple de retour de lignes contenant des caractères alphanumériques dans SQLite.
Les caractères alphanumériques sont des caractères alphabétiques et des caractères numériques.
Exemple
Supposons que nous ayons un tableau avec les données suivantes :
SELECT c1 FROM t1;
Résultat :
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 () [email protected]#&()–[{}]:;',?/* `~$^+=<>“ $1.50 Player 456 007 null é É é 123 ø ø 123
Nous pouvons utiliser le REGEXP
opérateur avec une expression régulière pour renvoyer uniquement les lignes contenant uniquement des caractères alphanumériques :
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-z0-9]+$';
Résultat :
Music 007
Dans ce cas, je n'ai pas inclus de caractères Unicode comme é
, É
, ou ø
dans ma plage, et donc toutes les lignes contenant ces caractères sont exclues de la sortie.
Vous devrez vous assurer que vous avez couvert les caractères pertinents lors de cette opération.
Voici un exemple d'extension de la plage pour inclure ces caractères :
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9]+$';
Résultat :
Music Café 007 é É ø
Le caractère espace n'est pas alphanumérique. Par conséquent, pour renvoyer des lignes contenant des espaces, nous pouvons ajouter un espace à notre expression régulière :
SELECT c1 FROM t1
WHERE c1 REGEXP '^[A-Za-zÀ-Þß-ÿ0-9 ]+$';
Résultat :
Music Live Music Café Café Del Mar 100 Cafés Player 456 007 é É é 123 ø ø 123
Nous pouvons utiliser le code suivant pour inclure toutes les lignes qui contiennent caractères de notre gamme (même s'ils contiennent également des caractères hors de cette gamme) :
SELECT c1 FROM t1
WHERE c1 REGEXP '[A-Za-zÀ-Þß-ÿ0-9]';
Résultat :
Music Live Music Café Café Del Mar 100 Cafés [email protected] 1 + 1 $1.50 Player 456 007 é É é 123 ø ø 123