Guide complet pour identifier les données numériques dans MySQL
Déterminer si une colonne MySQL contient des valeurs numériques est une tâche fréquente dans la gestion de bases de données. Ce guide présente plusieurs techniques efficaces pour y parvenir.
Approche 1 : Tirer parti de la isNumeric()
Fonction
MySQL fournit la fonction isNumeric()
intégrée. Cette fonction renvoie commodément 1 pour les valeurs numériques et 0 pour les valeurs non numériques. Voici comment l'utiliser :
<code class="language-sql">SELECT * FROM myTable WHERE isNumeric(col1) = 1;</code>
Approche 2 : Utiliser des expressions régulières
Les expressions régulières offrent une alternative flexible. L'expression régulière suivante correspond à des chaînes composées entièrement de chiffres :
<code class="language-sql">col1 REGEXP '^[0-9]+$'</code>
Incorporez ceci dans votre requête comme suit :
<code class="language-sql">SELECT * FROM myTable WHERE col1 REGEXP '^[0-9]+$';</code>
Approche 3 : Utiliser la conversion de chaînes avec CAST()
Cette méthode tente de convertir la valeur de la colonne en un entier à l'aide de la fonction CAST()
. Une conversion réussie indique une valeur numérique.
<code class="language-sql">SELECT * FROM myTable WHERE CAST(col1 AS UNSIGNED) IS NOT NULL;</code>
L'utilisation de UNSIGNED
est préférable à INT
car elle gère une plage plus large de nombres positifs et évite les erreurs potentielles avec des valeurs négatives si vos données ne les contiennent pas.
Lectures complémentaires :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!