–按位与
select * from cinema WHERE id&1;
–id先除以2然后乘2如果与原来的相等就是偶数
select * from cinema WHERE id=(id>>1)<<1;
–正则匹配最后一位
select * from cinema WHERE id regexp '[13579]$';
select * from cinema WHERE id regexp '[02468]$';
–id计算
select * from cinema WHERE id%2 = 1;
select * from cinema WHERE id%2 = 0;
–与上面的一样
select * from cinema WHERE mod(id, 2) = 1;
select * from cinema WHERE mod(id, 2) = 0;
—1的奇数次方和偶数次方
select * from cinema WHERE POWER(-1, id) = -1;
select * from cinema WHERE POWER(-1, id) = 1;
如果有其他判断方法请联系我,继续添加
效率
本来以为最后一种效率最慢,可是最后发现是正则,百思不得其解,还请大佬指点
在千万条数据下查询都没有用到索引,因此在千万级数据下,要特别注意了