zoukankan      html  css  js  c++  java
  • 第八章 用通配符进行过滤

    学习目的:
    如何使用通配符以及怎样使用LIKE操作符进行通配搜索,以便对数据进行复杂过滤。
     
    LIKE操作符:
    为在搜索子句中使用通配符,必须使用LIKE操作符,LIKE指示MySQL后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。
     
    通配符(wildcard)用来匹配值的一部分的特殊字符。
     
    搜索模式(search pattern)由字面值、通配符或两者组合构成的搜索条件。
     
    谓词操作符何时不是操作符?答案是在它作为谓词(predicate)时,从技术上说,LIKE是谓词而不是操作符,虽然最终结果相同,但应该对此术语有所了解,以免在SQL文档中遇到次术语不知道。
     
    百分号(%)通配符:
    在搜索串中,%表示任意字符出现任意次数。
    Jet% 检索任意以Jet开头的词,不管它有多少字符。
    %anvil% 检索包含anvil的词,而不论它之前或之后出现什么字符。
    % 还能匹配0个字符,%代表搜索模式中给定位置的0个、1个或多个字符。
    S%e 检索以S开头,以e结尾的所有词。
    SELECT prod_id,prod_name
    FROM produts
    WHERE prod_name LIKE 'jec%';
     
    注意尾空格。
    尾空格可能会干扰通配符匹配。
    注意NULL。
    虽然似乎%通配符可以匹配任何东西,但有一个例外,即NULL,即使是WHERE  prod_name LIKE '%'也不能匹配用值NULL作为产品名的行。
     
    下划线(_)通配符:
    在搜索串中,_只匹配单个字符而不是多个字符。
    SELECT prod_id,prod_name
    FROM products
    WHERE prod_name LIKE '_ ton anvil';
     
    只用通配符的技巧:
    问题:通配符搜索处理一般要比前面讨论的其他搜索所花时间更长。
    技巧:
    (1)不要过度使用通配符。如果其他操作能达到相同的目的,应该使用其他操作符。
    (2)在确实需要使用通配符是,除非绝对有必要,否则不要把他们用在搜索模式的开始处。通配符用在搜索模式的开始出,搜索起来是最慢的。
    (3)仔细注意通配符的位置。如果放错地方,可能不会返回想要的数据。
     

  • 相关阅读:
    ajax 新闻栏目
    ajax 瀑布流实现
    html5 canvas图片渐变
    html5 canvas图片翻转
    html5 canvas图片反色
    ajax 第一个程序
    ajax 新闻栏目
    HDU 1756 Cupid's Arrow( 判断点在多边形的内外 )
    POJ 2356 Find a multiple( 鸽巢定理简单题 )
    HDU 5762 Teacher Bo ( 暴力 )
  • 原文地址:https://www.cnblogs.com/mumulin99/p/9837674.html
Copyright © 2011-2022 走看看