天天看點

mysql中判斷字段是否包含數字或者是否為純數字各種場景參考資料

文章目錄

  • 各種場景
    • 判斷字段是否包含數字
    • 使用like模糊查詢包含某個數字
    • 使用mysql原生函數FIND_IN_SET查詢包含某個數字
    • 使用regexp正則比對純數字
    • 使用regexp正則比對字段值不包含數字
  • 參考資料

各種場景

判斷字段是否包含數字

select name from text where name regex '[0-9]'
           

使用like模糊查詢包含某個數字

select * from text where name like '%1%'
           

可能會篩出各種不适我們想要的,比如包含“10”的字段也會篩選出。

使用mysql原生函數FIND_IN_SET查詢包含某個數字

select * from text where find_in_set(1,name)
           

比like更精确一下。

使用regexp正則比對純數字

select * from text where (name REGEXP '[^0-9.]')=0;
           

例如:

當 SELECT “666” REGEXP ‘[^0-9.]’ 結果為 0 ,代表為純數字

當 SELECT “6hhhhh” REGEXP ‘[^0-9.]’ 時, 結果為1 ,代表不為純數字

使用regexp正則比對字段值不包含數字

select * from text where name NOT REGEXP '[0-9]+';
           

參考資料

  • mysql 比對字元串中是否包含數字
  • 使用MYSQL查詢資料表中某個字段包含某個數值
  • MySQL函數find_in_set介紹
  • MySQL查詢字段為純數字的資料