美文网首页
MySQL like 子句

MySQL like 子句

作者: Locdee_落地 | 来源:发表于2019-07-19 11:26 被阅读0次

    WHERE子句中可以使用等号 =来设定获取数据的条件,如 t.url = 'https://www.taobao.com'
    但是有时候我们需要获取url 字段含有"com"字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQLLIKE 子句。

    SQL LIKE 子句中使用百分号%字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。

    如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

    -> SELECT t.field1, t.field2,...t.fieldN 
    -> FROM table_name t
    -> WHERE t.field1 LIKE condition1 [AND [OR]] t.filed2 = 'somevalue'
    
    1. 你可以在 WHERE子句中指定任何条件。
    2. 你可以在 WHERE子句中使用LIKE子句。
    3. 你可以使用LIKE子句代替等号=
    4. LIKE 通常与 %一同使用,类似于一个元字符的搜索。
    5. 你可以使用 AND 或者 OR 指定一个或多个条件。
    6. 你可以在 DELETEUPDATE 命令中使用WHERE...LIKE子句来指定条件。

    WHERE LIKE的条件查询中,SQL 提供了四种匹配方式。

    • %:表示任意 0 个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
    • _:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句。
    • []:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
    • [^]:表示不在括号所列之内的单个字符。其取值和[] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
    • 查询内容包含通配符时,由于通配符的缘故,导致我们查询特殊字符 %、_、[的语句无法正常实现,而把特殊字符用“[ ]” 括起便可正常查询。

    LIKE 匹配/模糊匹配,会与 %_ 结合使用。

    '%a'     //以a结尾的数据
    'a%'     //以a开头的数据
    '%a%'    //含有a的数据
    '_a_'    //三位且中间字母是a的
    '_a'     //两位且结尾字母是a的
    'a_'     //两位且开头字母是a的
    

    相关文章

      网友评论

          本文标题:MySQL like 子句

          本文链接:https://www.haomeiwen.com/subject/ijdjlctx.html