mysql判斷奇數偶數,並思考效率
阿新 • • 發佈:2018-12-09
-- 按位與
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;
如果有其他判斷方法請聯絡我,繼續新增
效率
本來以為最後一種效率最慢,可是最後發現是正則,百思不得其解,還請大佬指點
在千萬條資料下查詢都沒有用到索引,因此在千萬級資料下,要特別注意了