書名: MariaDB必知必會作者名: (美)Ben Forta本章字數: 667字更新時間: 2020-10-30 18:17:42
8.1.1 百分號(%)通配符
最常用的通配符是百分號(%)。在一個搜索字符串中,“%”的意思是任何數量的字符。例如,為了找到以單詞jet開頭的產品,可以使用下面的SELECT語句:
▼ 輸入

▼ 輸出

▼ 分析
這個例子使用了'jet%'搜索模式。當這個語句被識別,任何以jet開頭的值都會被檢索?!?”告訴MariaDB接收任何跟在單詞jet之后的,且有任意數量的字符。
注意
大小寫敏感 搜索可能是大小寫敏感的,這依賴于列在MariaDB中如何定義。如果區分大小寫,'jet%'將不會匹配JetPack 1000。
在搜索模式中,通配符可以用在任何地方,也可以使用多個通配符。下面的例子使用了兩個通配符,分別在模式的兩端:
▼ 輸入

▼ 輸出

▼ 分析
搜索模式'%anvil%'的意思是匹配任何位置包含文本anvil的值,無論其他字符出現在anvil之前還是之后。
通配符也可以用在搜索模式中間,盡管這樣做通常沒什么用。下面的例子尋找所有以s開頭,以e結尾的產品。
▼ 輸入

提示
搜索E-mail地址的一部分 有一種情況在搜索模式中間使用通配符是有用的,那就是根據部分地址搜索E-mail地址,如“WHERE email LIKE'b%forta.com'”。
特別注意的是,%除了可以匹配一個或多個字符外,它還可以匹配零個字符。%在匹配模式中指定的位置代表0個、1個或者多個字符。
注意
小心尾部的空格 尾部的空格會影響通配符匹配。例如,如果任何一個包含anvil的單詞在anvil后面含有一個或者多個空格,語句“WHERE prod_name LIKE'%anvil'”就無法匹配,因為最后一個字符l后面還有額外的字符。一個簡單的解決方案是始終在搜索模式的結尾處添加一個%。一個更好的解決方案是使用函數去掉空格,這將在第11章討論。
警告
小心NULL 盡管%通配符看起來好像能夠匹配任何內容,有一個例外,那就是NULL。即便是WHERE prod_name LIKE'%'也不能匹配產品名字是NULL值的行。
- LaTeX Cookbook
- The Android Game Developer's Handbook
- Java面向對象思想與程序設計
- Linux C/C++服務器開發實踐
- MongoDB for Java Developers
- Visual Basic程序設計教程
- Java EE核心技術與應用
- Getting Started with LLVM Core Libraries
- Visual Basic程序設計全程指南
- 交互式程序設計(第2版)
- 深度實踐KVM:核心技術、管理運維、性能優化與項目實施
- Java高級程序設計
- Socket.IO Cookbook
- Unreal Engine Game Development Cookbook
- Expert Cube Development with SSAS Multidimensional Models