首頁 > 資料庫 > mysql教程 > mysql怎麼判斷是否是數字

mysql怎麼判斷是否是數字

WBOY
發布: 2022-02-24 11:44:49
原創
12480 人瀏覽過

在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.]'
登入後複製

前面的字串是我們要做判斷的, 後面的字串是mysql的正規表示式,意思是匹配不是數字或小數點的字元。

如果String中含有不是0-9之間的數字或是小數點時,回傳true ,反之則回傳false。

用法

select ('123a' REGEXP '[^0-9.]');
登入後複製

--'123a'中含有字元'a' 輸出結果為1 mysql中常數true輸出為1 false輸出為0

select * from tablename where (name REGEXP '[^0-9.]') = 1
登入後複製

查詢name全為數字的記錄

注意:如果字串中有空格,也會符合到正規表示式,傳回1。如果是要去掉兩端的空格,就要將判斷的字串,就要對字串使用 trim()函數了。

#查詢speed列不是數字的資料

select * from standard_csbi_service_tree_1d_full where (‘2134’ REGEXP ‘[^0-9.]’)=1;
登入後複製

#查詢speed列是數字的資料

select * from standard_csbi_service_tree_1d_full where (speed REGEXP ‘[^0-9.]’)=0;
登入後複製

推薦學習:mysql影片教學

#

以上是mysql怎麼判斷是否是數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板