关于mysql:Mysql范围查询之两个时间段是否存在交集

4次阅读

共计 452 个字符,预计需要花费 2 分钟才能阅读完成。

需要如下

在后盾会针对商品 SKU 配置售卖开始工夫 startTime 和售卖完结 endTime,当初想做一查问性能在查问框中输出一个查问开始工夫和查问完结工夫,查问在这段时间范畴内售卖的 SKU 并展现进去,比方当初是 12 月,之前配置了一个 SKU 它的售卖工夫是 10 月 1 日至 11 月 6 日,那么输入框中输出 9 月 1 日 -10 月 1 日、10 月 1 日 -11 月 6 日、11 月 6 日至 12 月 1 日等,都已查到此配置。

转化成代码语言就是:SKU 售卖配置的时间段和查问输出的时间段,两段工夫取交加,若有值则代表此配置 ok。

图解

select * from lingyejun.product_config where
(startTime > reqStartTime AND startTime <= reqEndTime) OR 
(startTime < reqStartTime AND endTime > reqEndTime) OR
(endTime >= reqStartTime AND endTime < reqEndTime)

本篇文章如有帮忙到您,请给「翎野君」点个赞,感谢您的反对。

正文完
 0