MySQL LIKE通配符及escape实例讲解

1566
2023/12/27 5:17:50
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

MySQL LIKE通配符用于在WHERE子句中进行模式匹配。常与SELECT语句一起使用。

MySQL LIKE通配符有以下几种形式:

  • %:表示零个或多个字符
  • _:表示一个字符
  • [charlist]:表示字符列表中的任意单个字符
  • [^charlist]:表示不在字符列表中的任意单个字符

下面是一些示例,用于说明LIKE通配符的使用:

  1. 使用%通配符: SELECT * FROM table_name WHERE column_name LIKE ‘%abc%’; 这个查询返回所有column_name中包含"abc"的记录。

  2. 使用_通配符: SELECT * FROM table_name WHERE column_name LIKE ‘a_c’; 这个查询返回所有column_name以"a"开头,以"c"结尾,并且包含一个字符的记录。例如,“abc”、"adc"等。

  3. 使用[charlist]通配符: SELECT * FROM table_name WHERE column_name LIKE ‘[abc]%’; 这个查询返回所有column_name以"a"、"b"或"c"开头的记录。

  4. 使用[^charlist]通配符: SELECT * FROM table_name WHERE column_name LIKE ‘[^abc]%’; 这个查询返回所有column_name不以"a"、"b"或"c"开头的记录。

在一些情况下,你可能需要在LIKE模式中使用通配符本身作为字符,而不是作为通配符。这时可以使用ESCAPE关键字来指定一个转义字符。例如: SELECT * FROM table_name WHERE column_name LIKE ‘100%%’ ESCAPE ''; 这个查询返回所有column_name以"100%“开头的记录,其中”%"字符被转义。

注意:LIKE通配符在MySQL中是大小写不敏感的,默认情况下。如果需要进行大小写敏感的匹配,可以使用BINARY关键字来指定。例如: SELECT * FROM table_name WHERE column_name LIKE BINARY ‘abc%’; 这个查询返回所有column_name以"abc"开头,且大小写完全匹配的记录。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: MySQL缓存机制怎样配置