Dans MySQL, il existe des mécanismes pour convertir des valeurs en entiers à l'aide de fonctions telles que Cast() et Convert(). Cependant, existe-t-il une méthode permettant de déterminer directement si une valeur est déjà un nombre entier ? Cet article explore une solution.
Solution utilisant l'opérateur REGEXP (pour les valeurs de chaîne)
Une approche efficace pour vérifier si une valeur de chaîne est un entier consiste à utiliser REGEXP opérateur avec une expression régulière. Cette expression fait correspondre la chaîne avec le modèle suivant :
^-?[0-9]+$
Ce modèle recherche une valeur qui commence par un éventuel signe négatif (-) suivi d'un ou plusieurs chiffres (0-9). En appliquant l'opérateur REGEXP comme suit, vous pouvez récupérer toutes les lignes où le champ correspond à ce modèle d'entier :
SELECT field FROM table WHERE field REGEXP '^-?[0-9]+$';
Cette requête identifie efficacement les valeurs entières dans les données de chaîne.
Solution Utilisation de la comparaison numérique (pour les valeurs numériques)
Si le champ en question est numérique, vous pouvez tirer parti du ceil() fonction pour comparer son équivalent entier à la valeur d’origine. Si les deux valeurs sont égales, cela indique que le champ est un entier :
SELECT field FROM table WHERE ceil(field) = field;
Cette méthode est efficace pour identifier des entiers dans des champs numériques. En appliquant l'une ou l'autre de ces techniques, vous pouvez déterminer efficacement si une valeur est un entier dans MySQL.
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!