Mysql范圍查詢之兩個時間段是否存在交集


需求如下

在后台會針對商品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)

 

本篇文章如有幫助到您,請給「翎野君」點個贊,感謝您的支持。

原文鏈接:https://www.cnblogs.com/lingyejun/p/15706649.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM