当我们需要查找包含某段字符的记录时,可以在where中使用like子句。
用like子句替代等号=
需要搭配通配符
%百分号通配符: 表示任何字符出现任意次数(可以是0次).。
_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符。
SELECT * from table WHERE name LIKE ‘%COM’;
匹配以com结尾的记录
SELECT * from table WHERE name LIKE ‘_COM’;
匹配长四位且以com结尾的纪录
若要查找不包含每段字符的记录,可以用 NOT LIKE。
注意mysql默认是不区分大小写的,在需要区分大小写时,可以加入BINARY操作符进行二级制比较。
SELECT * from table WHERE name LIKE BINARY ‘%COM’;
dbutils程序代码
Public List getbyname(String key)
{
key="%"+key+"%";
Stringsql="select * from medicinal where name like ?";
returnDH.getall(sql,newmedicinal(),newString[]{key});
}
此外mysql可以使用REGEXP 操作符来进行正则表达式匹配。