【MySQL必知必会】第8章:文本条件检索

8.1 LIKE操作符

通配符:用来匹配值的一部分的特殊字符(类似于excel中搜索的*号)

8.1.1 百分号(%)通配符

最长使用的通配符是百分号,在筛选文本条件时,%表示任何字符出现任意次数

SELECT prod_id, prod_name 
FROM products 
WHERE prod_name LIKE 'jet%';
  • 此命令是匹配以「jet」开头的所有产品名,无论jet后有多少字符,只要包含jet开头即返回结果

通配符在搜索模式中任意位置使用,并且可以使用多个通配符:

#包含
SELECT prod_id, prod_name 
FROM products 
WHERE prod_name LIKE '%anvil%';

#开头和结尾
SELECT prod_id, prod_name 
FROM products 
WHERE prod_name LIKE 's%e';
  • 如果文本中含有尾空格,那通配符不会进行匹配,因为尾空格会干扰通配符的匹配过程

8.1.2 下划线(_)通配符

除了百分号以外,还有一个通配符是下划线通配符,但下划线只能匹配单个字符而不是多个字符:

SELECT prod_id, prod_name 
FROM products 
WHERE prod_name LIKE '_ ton anvil';
  • 「_」总是匹配一个字符,不能多也不能少。

8.2 通配符使用规则

  • 不要过度使用通配符
  • 如果需要使用通配符时,不要在对数据进行搜索模式的最开始,因为不对数据进行预先的处理直接使用通配符可能会降低运行速度
  • 要注意通配符的位置

你可能感兴趣的:(【MySQL必知必会】第8章:文本条件检索)