Maison > base de données > tutoriel mysql > le corps du texte

Comment déterminer si MySQL est un nombre

WBOY
Libérer: 2022-02-24 11:44:49
original
12411 Les gens l'ont consulté

Dans MySQL, vous pouvez utiliser l'opérateur REGEXP avec l'expression régulière "[^0-9.]" pour déterminer si les données sont un nombre. La syntaxe est "field REGEXP '[^0-9.]'" ; lorsque cette instruction Lorsque le résultat est "1", vous pouvez filtrer les données qui ne sont pas un nombre. Lorsque le résultat de l'instruction est "0", vous pouvez filtrer les données dont la valeur est un nombre.

Comment déterminer si MySQL est un nombre

L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.

Comment déterminer si MySQL est un nombre

La plupart des nombres sont stockés dans int ou bigint, mais certains champs utilisent des chaînes pour stocker des nombres. Par conséquent, lorsque nous devons déterminer si le format de chaîne est entièrement composé de nombres, nous rencontrerons ce problème. .

Alors, comment juger ?

Méthode

Utilise l'opérateur REGEXP de MySQL

{String} REGEXP '[^0-9.]'
Copier après la connexion

La chaîne précédente est ce que nous devons juger, et la chaîne suivante est l'expression régulière de MySQL, ce qui signifie faire correspondre des caractères qui ne sont pas des nombres ou des points décimaux.

Si la chaîne contient un nombre qui n'est pas compris entre 0 et 9 ou un point décimal, elle renvoie vrai, sinon elle renvoie faux.

Usage

select ('123a' REGEXP '[^0-9.]');
Copier après la connexion

--'123a' contient le caractère 'a'. Le résultat de sortie de la constante true dans MySQL est 1. La sortie de false est 0

select * from tablename where (name REGEXP '[^0-9.]') = 1
Copier après la connexion

Interrogez les enregistrements dont le nom est composé uniquement de chiffres

.

Remarque : si le caractère S'il y a des espaces dans la chaîne, l'expression régulière sera mise en correspondance et 1 sera renvoyé. Si vous souhaitez supprimer les espaces aux deux extrémités, vous devez utiliser la fonction trim() sur la chaîne que vous jugez.

#Interroger les données dont la colonne de vitesse n'est pas un nombre

select * from standard_csbi_service_tree_1d_full where (‘2134’ REGEXP ‘[^0-9.]’)=1;
Copier après la connexion

#Interroger les données dont la colonne de vitesse est un nombre

select * from standard_csbi_service_tree_1d_full where (speed REGEXP ‘[^0-9.]’)=0;
Copier après la connexion

Apprentissage recommandé : Tutoriel vidéo 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal