mysql判斷時間段是否有交叉

經常有這樣場景:表中每條記錄都有一個有效期(時間段),要求在添加和修改的時候時間段不重疊。其實就是兩個集合不交叉,只要新插入的條記錄的結束時間大於已存在的記錄的開始時間並且新插入記錄的最小值小於已存在記錄的最大值,那麼這兩個時間段一定存在交叉。 總結起來就一句話:最小值小於最大值並且最大值大於最小值,則一定重疊。 所以,解決上述問題很簡單,查詢表,如果存在這樣記錄,表示待插入這條記錄與表中已有記錄
相關文章
相關標籤/搜索