mysql怎么判断是否是数字

WBOY
Freigeben: 2022-02-24 11:44:49
Original
12283 Leute haben es durchsucht

在mysql中,可用REGEXP运算符与正则表达式“[^0-9.]”配合使用判断数据是否是数字,语法为“字段 REGEXP '[^0-9.]'”;当该语句结果为“1”时,可以筛选不是数字的数据,当该语句结果为“0”时,筛选数值为数字的数据。

mysql怎么判断是否是数字

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql怎么判断是否是数字

大部分数字都是用int或者bigint存储,但是也有部分字段会用字符串存储数字,所以,当我们需要判断字符串格式是否全为数字的时候,就会遇到该问题了。

那么,怎么判断呢?

方法

采用mysql的 REGEXP运算符

{String} REGEXP '[^0-9.]'
Nach dem Login kopieren

前面的字符串是我们要做判断的, 后面的字符串是mysql的正则表达式,意思是 匹配不是数字或者小数点的字符。

如果String中含有不是0-9之间的数字或者是小数点时,返回true ,反之则返回false。

用法

select ('123a' REGEXP '[^0-9.]');
Nach dem Login kopieren

--‘123a'中含有字符'a' 输出结果为1 mysql中常量true输出为1 false输出为0

select * from tablename where (name REGEXP '[^0-9.]') = 1
Nach dem Login kopieren

查询name全为数字的记录

注意:如果字符串中有空格,也会匹配到正则表达式,返回1。如果是要去掉两端的空格,就要将判断的字符串,就要对字符串使用 trim()函数了。

#查询speed列不是数字的数据

select * from standard_csbi_service_tree_1d_full where (‘2134’ REGEXP ‘[^0-9.]’)=1;
Nach dem Login kopieren

#查询speed列是数字的数据

select * from standard_csbi_service_tree_1d_full where (speed REGEXP ‘[^0-9.]’)=0;
Nach dem Login kopieren

推荐学习:mysql视频教程

Das obige ist der detaillierte Inhalt vonmysql怎么判断是否是数字. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!