Dans MySQL, vous pouvez utiliser l'opérateur REGEXP pour déterminer si les données sont de type numérique. La syntaxe est "String REGEXP '[^0-9.]'" ; les caractères contiennent des nombres. Lorsque , le résultat renvoyé est vrai, sinon le résultat renvoyé est faux.
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
Utilisation de l'opérateur REGEXP de MySQL
L'opérateur REGEXP est l'abréviation d'expression régulière (expression régulière) Les expressions régulières sont très puissantes lors de la recherche de chaînes. Appliquer
{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 dans la chaîne S'il y a des espaces, 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 numérique
select * from standard_csbi_service_tree_1d_full where (‘2134’ REGEXP ‘[^0-9.]’)=1;
#Interroger les données dont la colonne de vitesse est numérique
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!