求化简select * from t where ((begintime<endtime and hour(now())<endtime and hour(now())>=begintime) or (begintime>endtime and (hour(now())<endtime or hour(now())>=begintime)))
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
看了一下只有3种情况:
b<=h<e
b>e>h
h>=b>e
select * from t where ((begintime<endtime and hour(now())<endtime and hour(now())>=begintime) or (begintime>endtime and (hour(now())<endtime or hour(now())>=begintime)))
加粗部分可以删除,其他的好像没什么优化的。