MySQL like 子句

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的
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容