Maison >base de données >tutoriel mysql >Comment puis-je déterminer si une valeur est un entier dans MySQL ?

Comment puis-je déterminer si une valeur est un entier dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 22:30:141077parcourir

How Can I Determine if a Value is an Integer in MySQL?

Détermination des valeurs entières dans MySQL

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn