簡體   English   中英

具有特定條件時間開始和時間結束的 Date_diff

[英]Date_diff with specific condition time start and time end

date_diff 是否可以有特定的開始和結束時間?

假設我的商店營業時間為上午 8 點至晚上 10 點,即 14 小時。 那段時間我有很多東西要賣。 其中一個 SKU 從 2022-11-01 下午 6 點到明天 2022-11-02 上午 11 點缺貨。

而不是計算 24 小時,我只想計算從開店到關門或到補貨。 意思是從下午 6 點到上午 11 點是 8 小時

我的查詢

select date_diff('2022-11-02 11.00 AM', '2022-11-02 06.00 PM', hour) from table

結果是 17 小時而不是 8 小時

沒有辦法配置DATE_DIFF來為您執行此操作,但可以通過一些努力來執行您想要的操作

您應該將日期轉換為時間戳( TIMESTAMP(yourdate)CAST(yourdate AS TIMESTAMP) )並改用TIMESTAMP_DIFF

這將允許您以比幾天更短的間隔工作。

對於您的計算,您最終需要找到兩個時間戳之間的總時間差,然后減去非工作時間的時間范圍。

然而,計算后者並不像計算天數差乘以 8 小時(晚上 10 點到早上 6 點)那么簡單,因為您的非工作時間計算必須考慮周末和可能的假期等。因此它可能會變得非常復雜,這是我第一個鏈接中的解決方案可能出現的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM