温馨提示×

MySQL LIKE通配符及escape实例讲解

小亿
81
2023-12-19 05:17:50
栏目: 云计算

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"开头,且大小写完全匹配的记录。

0