官术网_书友最值得收藏!

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值的行。

主站蜘蛛池模板: 拜城县| 阳山县| 潼南县| 永春县| 吴桥县| 牟定县| 孙吴县| 阳原县| 衡阳市| 会泽县| 磐石市| 肇东市| 呼和浩特市| 定结县| 元江| 博客| 敦煌市| 喜德县| 鸡东县| 大石桥市| 晋中市| 板桥市| 筠连县| 监利县| 西青区| 甘肃省| 宜丰县| 若羌县| 乌拉特中旗| 嵩明县| 咸宁市| 汽车| 东山县| 民乐县| 义乌市| 枣阳市| 神木县| 民勤县| 麟游县| 德昌县| 天门市|