在mysql中,可以利用REGEXP運算子判斷資料是否為數字類型,語法為「String REGEXP '[^0-9.]'」;運算子是正規表示式的縮寫,若資料字元中含有數字時,傳回的結果是true,反之回傳的結果是false。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
採用mysql的REGEXP運算子
REGEXP運算符,是正規表示式(regular expression)的縮寫,正規表示式則在搜尋字串時非常強大,以下是關於它的應用
{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中文網其他相關文章!