- MySQL中允許使用正則運算式定義字串的搜索條件,性能比like匹配查詢還高
- MySQL中的正則運算式可以對整數型別或者字符型別檢索
- 使用REGEXP關鍵字表示正則匹配,默認忽略大小寫,如果區分大小寫,使用BINARY關鍵字
正則運算式的模式以及含義
| 模式 | 匹配含義 |
|---|---|
| ^ | 字串的開始 |
| $ | 字串的結束 |
| . | 任意單個字符 |
| […] | 在括號內的任何字串列 |
| [^…] | 非列在方括號內的任何字符 |
| p1|p2|p3 | 交替匹配任何模式p1,p2,p3 |
| * | 零個或多個前面的元素 |
| + | 一個或多個前面元素 |
| {n} | 前面的元素n個實體 |
| {m,n} | 前面的元素m到n個實體 |
語法
查詢以x開頭的資料(忽略大小寫)
SELECT 列名 FORM 表名 WHERE 列名 REGEXP ‘^x’;
示例
1.查詢雇員表中名字是以k結尾的雇員資訊
select * from employees where username REGEXP ‘k$’
如果匹配大小K
則:select * from employees where username REGEXP binary ‘k$’
2.查詢雇員表名字是t、f開頭的雇員資訊
select * from employees where username REGEXP ‘[x-z]’
3.查詢雇員名字含有兩個連續n雇員的資訊
select * from employess where username REGEXP ‘n{2}’
4.查詢雇員名字含有兩個n雇員的資訊
select * from employess where username REGEXP ‘n.{2}’
5.查詢雇員名字含有x、y、z雇員的資訊
select * from employess where username REGEXP ‘[x-z]’
或者:select * from employess where username REGEXP ‘[x|y|z]’
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/3380.html
標籤:其他
上一篇:Laravel框架中連表查詢
