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 [email protected]#&()–[{}]:;',?/*
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 | | [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 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 | +----------------------+ | () | | [email protected]#&()–[{}]:;',?/* | | `~$^+=<>“ | | | | é | | É | | ø | +----------------------+
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 :
() [email protected]#&()–[{}]:;',?/* `~$^+=<>“
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 :
() [email protected]#&()–[{}]:;',?/* `~$^+=<>“