Maison >base de données >tutoriel mysql >Comment déterminer si MySQL est un nombre

Comment déterminer si MySQL est un nombre

WBOY
WBOYoriginal
2022-02-24 11:44:4912478parcourir

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.]'

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.]');

--'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

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;

#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;

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!

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