LIKE操作符
通配符(wildcard)
用来匹配值的一部分的特殊字符
搜索模式(search pattern)
由字面值、通配符或者两者组合构成的搜索条件
谓词(predicate)
从技术上说,LIKE是谓词而不是操作符
通配符搜索只能用于文本字段(字符串),非文本数据类型字段不能使用通配符搜索
1 百分号(%)通配符
百分号(%)是最长使用的通配符。
举例说明其用法:“找出所有以Fish开头的产品”
SELECT prod_id,prod_name FROM products WHERE prod_name LIKE 'Fish%';
MySQL 默认不区分大小写。所以'Fish'与'fish'的结果是相同的
通配符可以在搜索模式中的任意位置使用,并且可以使用多个通配符
位于两端:
SELECT prod_id,prod_name FROM products WHERE prod_name LIKE '%bean bag%';
(中间包含bean bag的)
位于中间:
SELECT prod_id,prod_name FROM products WHERE prod_name LIKE 'b%y';
(以b开头y结尾的)
注意:通配符%不能匹配NULL
2 下划线(_)通配符
下划线(_)通配符的用途与百分号(%)通配符一样,但是它只能匹配单个字符,而不是多个字符。
SELECT prod_id,prod_name FROM products WHERE prod_name LIKE '__ inch teddy bear';