SQL语句之正则表达式
生活随笔
收集整理的這篇文章主要介紹了
SQL语句之正则表达式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQL語句之正則表達式
文章目錄
前言
一、正則表達式特殊的字符
二、正則表達式的使用介紹
2.1: 以特定字符串開頭的記錄
2.2: 以特定字符串結尾的記錄
2.3: 包含指定字符串的記錄
2.4: 以“.”代替字符串中的任意一個字符的記錄
2.5: 匹配包含或者關系的記錄
2.6: “*”匹配前面字符的任意多次
2.7: "+”匹配前面字符至少一次
2.8: 匹配指定字符集中的任意一個
前言
MySQL 正則表達式通常是在檢索數據庫記錄的時候,根據指定的匹配模式匹配記錄中符合要求的特殊字符串。
MySQL 的正則表達式使用 REGEXP 這個關鍵字來指定正則表達式的匹配模式,REGEXP 操作符所支持的匹配模式
一、正則表達式特殊的字符
| ^ | 匹配文本的開始字符 | ‘^te’ 匹配一te開頭的字符串 |
| $ | 匹配文本的結束字符 | ‘xt$’ 匹配以xt結尾的字符串 |
| . | 匹配任何單個字符 | ‘t.x’ 匹配任何t和x之間有一個字符的字符串 |
| * | 匹配零個或多個在它面前的字符 | ‘t*t’ 匹配t前面有任意個t |
| + | 匹配前面的字符1次或者多次 | ‘’ |
| 字符串 | 匹配包含指定的字符串 | ‘te’ 匹配含有te的字符串 |
| p1|p2 | 匹配P1或P2 | ‘te|xt’ 匹配te或者xt |
| […] | 匹配字符集合中的任意一個字符 | ‘[abc]’ 匹配a或者b或者c |
| [^…] | 匹配不在括號中的任何字符 | [^ab] 匹配不包含a或者b的字符串 |
| {n} | 匹配前面的字符串n次 | ‘g{2}’ 匹配含有2個g的字符串 |
| {n,m} | 匹配前面的字符串至少n次,至多m次 | ‘f{1,3}’ 匹配f最少1次,最多3次 |
二、正則表達式的使用介紹
了解正則表達式的匹配規則之后,就可以將這些規則技巧應用于 SQL 語句中,從而可以更準確、更快速的查出所需的記錄。
下面通過示例的方式詳細介紹 MySQL 正則表達式的使用方法。
2.1: 以特定字符串開頭的記錄
- 例如,在player表中查詢以us開頭的name字段并打印對應的id、name 和 level 記錄
2.2: 以特定字符串結尾的記錄
- 例如,在 player 表中查詢以 ss 結尾的 name 字段并打印對應的 id、name 和 level 記錄,具體操作如下所示。
2.3: 包含指定字符串的記錄
- 例如,在player表中查詢包含ok字符串的name字段并打印對應的 id、name 和 level
2.4: 以“.”代替字符串中的任意一個字符的記錄
- 例如,在player表中查詢包含字符串shir 與 ey,且兩個字符串之間只有一個字符的name 字段并打印對應的 id、name 和 level 記錄.
2.5: 匹配包含或者關系的記錄
- 例如,在 player 表中查詢包含字符串ok或者ss的name字段并打印對應的 id、name
2.6: “*”匹配前面字符的任意多次
- 例如,在 player 表中查詢包含三個或者更多個連續的 o 的 name 字段并打印對應的 id、name 和 level 記錄,具體操作如下所示。
2.7: "+”匹配前面字符至少一次
- 例如,在player表中查詢包含四個或者更多個o的 name 字段并打印對應的 id、name
2.8: 匹配指定字符集中的任意一個
- 例如,在 player 表中查詢包含以 d、e、f 開頭的 name 字段并打印對應的 id、name 和
level 記錄,具體操作如下所示。
總結
以上是生活随笔為你收集整理的SQL语句之正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件项目交接细则
- 下一篇: C# 一个基于.NET Core3.1的