簡體   English   中英

Sql - 計算庫存天數

[英]Sql - Calculate Inventory Days

我正在嘗試計算一段時間內的庫存天數。 我在獲取上個月庫存的實際天數時遇到問題。 所以對於第一行,9 天是正確的。 但是第二行應該顯示 34。因為我想計算 Inv_date 和“今天的”日期之間的天數。 假設我在寫這篇文章時,今天的日期是“2021-03-25”。

所以我有一張桌子,例如:

翻譯 Inv_Date 采購日期 發票天數
2021-02-01 00:00:00.000 20210219 Null 9
2021-03-01 00:00:00.000 20210219 Null 40

我期待的是:

翻譯 Inv_Date 采購日期 發票天數
2021-02-01 00:00:00.000 20210219 Null 9
2021-03-01 00:00:00.000 20210219 Null 34

我用於 InvdDays 計算的 Sql 腳本是:

case when left(Getdate(),8) >= left(convert(varchar,Transdate,112),8) then 
datediff(day,Inv_date,
dateadd(day,-1,dateadd(month,1,Transdate))
)
else 
isnull(ABS(DATEDIFF(day, Inv_date, isnull(Purch_Date, Getdate()))),0) end as InvDaysStandQty

嗯。 . . 我推測您想要從transdateinv_date的最后一天開始的天數。 那將是這樣的:

select datediff(day, inv_date,
                (case when convert(date, getdate()) < eomonth(transdate)
                      then getdate() else eomonth(transdate)
                 end)
                )

可能有一個 off-by-1 錯誤,因為您實際上還沒有解釋邏輯。

暫無
暫無

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

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