Les exemples suivants renvoient uniquement les lignes qui ne contiennent aucun chiffre dans une colonne donnée d'Oracle Database.
Exemple de données
Supposons que nous ayons un tableau avec les données suivantes :
SELECT ProductName
FROM Products;
Résultat :
Left Handed Screwdriver Right Handed Screwdriver Bottomless Coffee Cup (4 pack) Urban Dictionary Version 2.3 Beer Water 10 Songs
La table ProductName utilise un varchar2
type de données, et donc il contient des données de caractères. Mais il peut aussi contenir des chiffres numériques.
Exemple 1 – Regex
Voici une requête que nous pouvons utiliser pour renvoyer toutes les lignes qui ne contiennent pas de chiffres :
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Résultat :
Left Handed Screwdriver Right Handed Screwdriver Beer Water
Exemple 2 – POSIX
Dans Oracle Database, le REGEXP_LIKE
condition est conforme à la norme d'expression régulière POSIX. Par conséquent, nous pouvons obtenir le même résultat avec la requête suivante :
SELECT ProductName
FROM Products
WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Résultat :
Left Handed Screwdriver Right Handed Screwdriver Beer Water