Lorsque vous travaillez avec MariaDB, vous pouvez parfois avoir besoin de renvoyer toutes les lignes contenant au moins un chiffre.
Dans de tels cas, vous pouvez trouver l'exemple suivant utile.
Exemple
Supposons que nous ayons une table appelée Products
avec les données suivantes dans son ProductName
colonne :
SELECT ProductName
FROM Products;
Résultat :
+-------------------------------------+ | ProductName | +-------------------------------------+ | Left Handed Screwdriver | | Right Handed Screwdriver | | Bottomless Coffee Cup | | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Cette colonne contient évidemment des données de caractères, mais certaines lignes contiennent des nombres dans ces données de caractères (même s'ils ne sont pas stockés en tant que type numérique).
Nous pouvons utiliser la requête suivante pour renvoyer uniquement les lignes contenant des nombres représentés par des chiffres :
SELECT ProductName
FROM Products
WHERE ProductName REGEXP '[0-9]+';
Résultat :
+-------------------------------------+ | ProductName | +-------------------------------------+ | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Comme prévu, seules les lignes contenant des nombres sont renvoyées.
Dans ce cas, nous avons utilisé le REGEXP
fonction pour trouver toutes les lignes qui correspondent à un modèle. Le modèle englobe tous les chiffres numériques à partir de 0
à 9
, plus tout autre caractère.