1. 程式人生 > 資料庫 >MySQL查詢指定欄位不是數字與逗號的sql

MySQL查詢指定欄位不是數字與逗號的sql

核心sql語句

MySQL查詢不包含數字的語句:

SELECT * FROM test WHERE `name` regexp '[^0-9]';

MySQL查詢純數字的語句:

SELECT * FROM test WHERE `name` regexp '[0-9]';

相關文章id,都是數字或者逗號那麼下面語句MySQL查詢不包含數字與逗號的語句:

SELECT * FROM test WHERE `name` regexp '[^0-9,]';

MySQL查詢某一列中不是數字

包含數字的列 :

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[0-9]{1,}'

不包含數字的列 :

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[0-9]{1,}' = 0

mysql正則表示式查詢非數字

想要查詢欄位age 內容 不是數字的正則表示式sql

SELECT `age` FROM `table_name` WHERE `age` REGEXP '^[^0-9]$';

或者

SELECT `age` FROM `table_name` WHERE `age` NOT REGEXP '^[0-9]$';

多個數字

select * from table_name where `age` REGEXP '[^0-9]{1,}'

MySQL中regexp運算子介紹

regexp運算子用來執行更復雜的字串比較運算。(只能對字串進行操作)

屬於regexp運算子的特殊字元

^ 匹配字串開始部分。例'^董',以董為開頭的字串。
$ 匹配字串結束部分。
. 匹配任意單個字元包括回車和新行。
* 匹配星號之前的0個或多個字元的任何序列。(星號前可以不有)
+ 匹配加號之前的一個或多個字元的任何序列。(加號前必須有)
? 匹配問號之前0個或多個字元。
{n} 匹配括號前的內容出現n次的序列。
() 匹配括號裡的內容。
[abc] 匹配方括號裡出現的字串abc。
[a-z] 匹配方括號裡出現的a-z之間的1個字元。
[^a-z] 匹配方括號裡出現不在a-z之間的1個字元。`

更多的內容可以參考這篇文章:https://www.jb51.net/article/72928.htm