SQL 正則表達式及mybatis中使用正則表達式

 更新時間:2019-08-25 10:58:45   作者:佚名   我要評論(0)

mysql 提供的模式匹配的其他類型是使用擴展正則表達式。
當你對這類模式進行匹配測試時,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它們是同義詞)。

mysql 提供的模式匹配的其他類型是使用擴展正則表達式。

當你對這類模式進行匹配測試時,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它們是同義詞)。

擴展正則表達式的一些字符是:

“.”匹配任何單個的字符。
一個字符類“[...]”匹配在方括號內的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。為了命名字符的一個范圍,使用一個“-”。“[a-z]”匹配任何小寫字母,而“[0-9]”匹配任何數字。
“ * ”匹配零個或多個在它前面的東西。例如,“x*”匹配任何數量的“x”字符,“[0-9]*”匹配的任何數量的數字,而“.*”匹配任何數量的任何東西。

正則表達式是區分大小寫的,但是如果你希望,你能使用一個字符類匹配兩種寫法。例如,“[aA]”匹配小寫或大寫的“a”而“[a-zA-Z]”匹配兩種寫法的任何字母。

如果它出現在被測試值的任何地方,模式就匹配(只要他們匹配整個值,SQL模式匹配)。

為了定位一個模式以便它必須匹配被測試值的開始或結尾,在模式開始處使用“^”或在模式的結尾用“$”。

為了說明擴展正則表達式如何工作,上面所示的LIKE查詢在下面使用REGEXP重寫:

為了找出以“b”開頭的名字,使用“^”匹配名字的開始并且“[bB]”匹配小寫或大寫的“b”:

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";

自己在Myabtis中使用正則表達式

<select id="provinceLists" resultMap="BaseCountry"
 parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = '2' and
 code REGEXP "[0-9]*\.[0-9]*"
 </select>
 <select id="cityLists" resultMap="BaseCountry" parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = '3' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*"
 </select>
 <select id="countyLists" resultMap="BaseCountry" parameterType="java.lang.String">
 select
 code,label
 from institution
 where admlvl = '4' and code REGEXP "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*";
 </select>

總結

以上所述是小編給大家介紹的SQL 正則表達式及mybatis中使用正則表達式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:

  • MyBatis直接執行SQL的工具SqlMapper
  • 如何批量測試Mybatis項目中的Sql是否正確詳解
  • Mybatis核心組成部分之SQL映射文件揭秘詳解
  • Mybatis學習筆記之動態SQL揭秘
  • MyBatis中動態sql的實現方法示例
  • mybatis連接MySQL8出現的問題解決方法
  • 詳解Mybatis逆向工程中使用Mysql8.0版本驅動遇到的問題
  • 詳解mybatis.generator配上最新的mysql 8.0.11的一些坑
  • mybatis mysql delete in操作只能刪除第一條數據的方法
  • MyBatis執行動態SQL的方法

相關文章

  • JSP servlet實現文件上傳下載和刪除

    JSP servlet實現文件上傳下載和刪除

    本文實例為大家分享了Android九宮格圖片展示的具體代碼,供大家參考,具體內容如下 由于存儲空間,對一般用戶而言,就是用來操作存儲文件的,所以這兩天,特意
    2019-08-25
  • SQL 正則表達式及mybatis中使用正則表達式

    SQL 正則表達式及mybatis中使用正則表達式

    mysql 提供的模式匹配的其他類型是使用擴展正則表達式。 當你對這類模式進行匹配測試時,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它們是同義詞)。
    2019-08-25
  • 關于關系數據庫如何快速查詢表的記錄數詳解

    關于關系數據庫如何快速查詢表的記錄數詳解

    前言 在數據庫中,很多人員習慣使用SELECT COUNT(*) 、SELECT COUNT(1) 、SELECT COUNT(COL)來查詢一個表有多少記錄,對于小表,這種SQL的開銷倒不是很大,
    2019-08-25
  • 詳解java解決分布式環境中高并發環境下數據插入重復問題

    詳解java解決分布式環境中高并發環境下數據插入重復問題

    java 解決分布式環境中 高并發環境下數據插入重復問題 前言 原因:服務器同時接受到的重復請求 現象:數據重復插入 / 修改操作 解決方案 : 分布式鎖 對請
    2019-08-25
  • JSP實現簡單人事管理系統

    JSP實現簡單人事管理系統

    本文實例為大家分享了JSP實現簡單人事管理系統的具體代碼,供大家參考,具體內容如下 此系統使用jsp實現,其中包含了jsp九大內置對象和四大作用域的相關知識,
    2019-08-25
  • Java仿Windows記事本源代碼分享

    Java仿Windows記事本源代碼分享

    本文實例為大家分享了Java仿Windows記事本的具體代碼,供大家參考,具體內容如下 先上截圖: 源代碼: import java.awt.*; import javax.swing.*; i
    2019-08-25
  • Scala的文件讀寫操作與正則表達式

    Scala的文件讀寫操作與正則表達式

    目錄 在本篇文章中你將會學習并了解常用的文件處理任務,例如讀取文件的一行文本,本博客的要點包含: 1.Source.fromFile(...).getLines.toArray 輸出文件所有
    2019-08-25
  • mysql索引基數概念與用法示例

    mysql索引基數概念與用法示例

    本文實例講述了mysql索引基數概念與用法。分享給大家供大家參考,具體如下: Cardinality(索引基數)是mysql索引很重要的一個概念 索引基數是數據列所包含的
    2019-08-25
  • java實現仿射密碼加密解密

    java實現仿射密碼加密解密

    本文實例為大家分享了java實現仿射密碼加密解密的具體代碼,供大家參考,具體內容如下 加密:將明文轉化為對應的數字,如 ‘a'-> 0, ‘b'->1,…,'1'->26,'2'-
    2019-08-25
  • java騰訊AI人臉對比對接代碼實例

    java騰訊AI人臉對比對接代碼實例

    技術棧: Spring boot 2.x 騰訊 java版本1.8 注意事項: 本文內的“**.**”需要自己替換為自己的路徑。 常量內的“**”需要自己定義自己內容。
    2019-08-25

最新評論

老快3投注技巧