亚洲精品中文字幕无码专区一,中文字幕av一区乱码深夜动态福利,粗大的内捧猛烈进出少妇

          系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

          當前位置:首頁 > 數據庫 > Mysql > 詳細頁面

          MySQL通配符與正則表達式搜過濾數據詳解

          時間:2022-10-02來源:www.snowmanhill.com作者:電腦系統城

          通配符過濾

          通配符:用來匹配值的一部分特殊字符。

          通配符可以在搜索模式中任意位置使用,并且可以使用多個通配符。

          搜索模式:由字面值、通配符或者兩者組合構成的搜索條件。

          語法(使用LIKE操作符):

          1
          2
          3
          SELECT [column_name]
          FROM [table_name]
          WHERE [column_name] LIKE '[string]';

          通配符 %

          ‘%’ 表示任何字符出現任意次數,例如 LIKE ‘jet%’ 匹配詞jet起頭的值,‘%anvil%’ 匹配任何位置包含文本anvil的值。

          注意

          • 根據MySQL的配置方式,搜索可以是區分大小寫的;
          • ‘%’ 可以匹配0個字符;
          • 值的尾空格會干擾通配符匹配,最好在搜索模式最后附加一個%;
          • ‘%’ 不能匹配NULL。

          通配符 _

          ‘_’ 只匹配單個字符。

          技巧

          • 不要過度使用通配符,因為這會很花時間;
          • 如有必要,使用通配符匹配在搜索的最后;

          正則表達式過濾

          語法(使用REGEXP操作符):

          1
          2
          3
          SELECT [column_name]
          FROM [table_name]
          WHERE [column_name] REGEXP '[string]';

          字符匹配

          基本匹配:‘.’ 表示匹配任意一個字符。

          基本字符匹配舉例

          正則表達式匹配不區分大小寫,使用BINARY關鍵字區分,例如WHERE prod_name REGEXP BINARY ‘JetPack .000’。

          • OR匹配:‘1000|2000’ 表示匹配1000或者2000。
          • 多字符匹配:‘[123]’ 表示匹配 1 或 2 或 3,是 [1|2|3] 的縮寫。

           

          但是 ‘[1|2|3] Ton’ 和 ‘1|2|3 Ton’ 匹配結果并不相同,后者表示匹配 1 或 2 或 3 Ton。

          • 否定字符匹配:‘[^123]’ 表示匹配除這些字符外的任何東西。
          • 匹配范圍:‘[0-9]’ 與 ‘[0123456789]’ 相同。‘[a-z]’ 匹配任意字母字符。
          • 匹配特殊字符:使用轉義字符 ‘\’,例如 ‘\.’ 、’ \|’ 、‘\[’ 、‘\’。

          其他字符

          空白元字符

          元字符 說明
          \\f 換頁
          \\n 換行
          \\r 回車
          \\t 制表
          \\v 縱向制表

          字符類

          說明
          [:alnum:] 任意字母和數字
          [:alpha:] 任意字符(同[a-zA-Z])
          [:blank:] 空格和制表
          [:cntrl:] ASCII控制字符(0-31和127)
          [:digit:] 任意數字
          [:graph:] 與[:print:]相同,但是不包括空格
          [:lower:] 任意小寫字母
          [:print:] 任意可打印字符
          [:punct:] 既不在[:alnum:]也不在[:cntrl:] 中的任意字符
          [:space:] 包括空格在內的任意空白字符
          [:upper:] 任意大寫字符
          [:xdigit:] 任意十六進制數字

          重復元字符

          元字符 說明
          * 0個或多個匹配
          + 1個或多個匹配
          ? 0個或多個匹配
          {n} 指定數目匹配
          {n, } 不少于指定數目的匹配
          {n, m} 匹配數目的范圍(m不超過255)

          定位元字符

          元字符 說明
          ^ 文本的開始
          $ 文本的結尾
          [[:<:]] 詞的開始
          [[:>:]] 詞的結尾

          舉例:

          1
          2
          3
          SELECT prod_name
          FROM products
          WHERE prod_name REGEXP '^[0-9\\.]';

          對比

          如果匹配文本在列值中出現,則LIKE不會匹配,但是REGEXP會匹配。

          LIKE與REGEXP對比

          可以通過用 ^ 開始每個表達式,用 $ 結束每個表達式,使得REGEXP的作用和LIKE一樣。

          正則表達式測試

          1 SELECT 'hello' REGEXP '[0-9]';  //結果返回0

          總結

          到此這篇關于MySQL通配符與正則表達式搜過濾數據的文章就介紹到這了

          分享到:

          相關信息

          系統教程欄目

          欄目熱門教程

          人氣教程排行

          站長推薦

          熱門系統下載

          亚洲精品中文字幕无码专区一,中文字幕av一区乱码深夜动态福利,粗大的内捧猛烈进出少妇