Voici un exemple de retour de lignes contenant uniquement des caractères non alphanumériques dans SQLite.
Les caractères non alphanumériques incluent les caractères de ponctuation tels que example@sqldat.com#&()–[{}]:;',?/* et des symboles comme `~$^+=<>“ , ainsi que des caractères d'espacement tels que les espaces ou les tabulations.
Exemple de données
Nous utiliserons les données suivantes pour nos exemples :
SELECT c1 FROM t1; Résultat :
+----------------------+
| 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 |
+----------------------+
Nous pouvons utiliser le REGEXP opérateur avec une expression régulière pour renvoyer les lignes qui ne contiennent que des caractères non alphanumériques :
SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-z0-9]'; Résultat :
+----------------------+
| c1 |
+----------------------+
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| |
| é |
| É |
| ø |
+----------------------+
Dans ce cas, ma plage d'exclusion ne couvrait pas les caractères alphanumériques comme é , É , et ø . L'exemple suivant développe la plage pour exclure ces caractères du résultat :
SELECT c1 FROM t1
WHERE c1 NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Résultat :
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“
Notre table contient également une ligne avec la chaîne vide. Il s'agit d'un caractère non alphanumérique, et il est donc renvoyé dans le résultat ci-dessus. Nous pouvons également utiliser le NULLIF() fonction pour exclure la chaîne vide de la sortie :
SELECT c1 FROM t1
WHERE NULLIF(c1, '') NOT REGEXP '[A-Za-zÀ-Þß-ÿ0-9]'; Résultat :
()
example@sqldat.com#&()–[{}]:;',?/*
`~$^+=<>“