您的位置:首页 > 数据库 > MySQL

MySql like 查询 变向写法(不用like 完成like查询)

2011-10-27 15:59 337 查看
select * from account where userName like 'ad%';
select * from account where userName >= 'ad' and userName < 'ae'

/*
这两种查询的结果是一样的,效率好像也差不多,没有做具体的效率测试,有兴趣可以测试下效率。
like查询中的ad%是查询ad开头userName的数据,
而userName >= 'ad'就是查询ad开头的数据并且还包含 ae、af、ag……,也就是说是查询“ad”中包含d且大于“ad”中d的数据
所以,and userName < 'ad'就保证查询的区间在“ad”中的,而ae、af、ag……这些数据就不会出现在结果集中。
当然你可以试试:
select * from account where userName >= 'ad' and userName < 'az';
结果集是不是包含:ae、af、ag……ak、al……ay、az等开头的数据。
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: