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