mysql 逻辑表达式化简

求化简
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)))

阅读 2.5k
1 个回答

看了一下只有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)))
加粗部分可以删除,其他的好像没什么优化的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏