mysql 如何判斷 "字符串" 是否為 "數字"


  這個問題有點怪 ,但很多時候我們會以字符串的形式存儲數字 , 反過來我們用字符串進行數學運算時, 好像也不會出錯 . 除非 , 用作數學運算的字符串不能轉換成數字 .
但是我們改如何判斷字符串是否能轉換成數字呢 ? 

  采用mysql的 REGEXP運算符 . 怎么用?

  {String} REGEXP '[^0-9.]'

  前面的字符串是我們要做判斷的, 后面的字符串是mysql的正則表達式,意思是 匹配不是數字或者小數點的字符。

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

  比如說 :

1 select ('123a' REGEXP '[^0-9.]'); --‘123a'中含有字符'a' 輸出結果為1 mysql中常量true輸出為1 false輸出為0

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

這個只是REGEXP操作符的簡單應用,REGEXP的詳細應用請參考官方文檔。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM