簡體   English   中英

SQL Server 2005中的日期差異

[英]Date difference in SQL Server 2005

假設我的表中有兩個日期,DueDate和PaidDate。 我需要做的是計算這兩個日期之間的差。 但是,如果DateDiff()返回小於0,則應顯示0。

DateDiff(Day,0,(PaidDate-DueDate-1))作為DelayDays

小於1的值應顯示0。

謝謝。

首先,這不是您使用DateDiff的方式。 這是您的用法:

DateDiff(Day, PaidDate, DueDate)

要獲得零值,只需比較日期:

case when PaidDate > DueDate then 0 else DateDiff(Day, PaidDate, DueDate) end

(不過,我不確定您通常希望哪個日期晚些,例如,如果您要計算剩余時間或到期時間,那么您可能需要交換一下日期。現在,它可以計算時間剩下。)

case when DateDiff(Day, 0, (PaidDate-DueDate-1)) <0 then 0 else
DateDiff(Day, 0, (PaidDate-DueDate-1))  end 

暫無
暫無

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

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