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

<div class="cnblogs_Highlighter">
<pre class="brush:sql;gutter:false;">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等开头的数据。

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...