2014-02-06 31 views
0

我有一列拉兩個日期,1日期有正確的日期和時間,所以我可以輕鬆地比較此日期和GetDate之間的分鐘數)但有些值的日期是01/01/1900,然後是我需要使用的時間。T-SQL DateDiff之間的時間,但1日期列是1900

我該如何使用datediff,但忽略日期並只使用時間?

所以

My date | 01/01/1900 14:25:00 
GetDate() | 06/02/2014 14:26:00 

能給我1分鐘

+0

那麼,當日期是'19000101'時,你認爲它是今天? – Lamak

+0

是的,沒錯。 – user3219693

回答

3

轉換您的日期時間的時間數據類型,然後一切正常。

例如:在SQL2008加入

Declare @d1 DateTime, 
     @d2 DateTime 

Select @d1 = '01/01/1900 14:25:00', 
     @d2 = '06/02/2014 14:26:00' 

Select DATEDIFF(minute, Convert(Time, @d1), Convert(Time, @d2)) 

時間數據類型(您已標記了你的問題)。

+0

這似乎是正確的答案,但它假設如果日期總是應該是今天。歐普說,關於'19000101',但沒有說明其餘日期 – Lamak

+0

該表將始終填充19000101日期,所以我將這個解決方案標記爲答案。 – user3219693

+0

這回答了問題中的最後一行:「我怎麼能過日期,但忽略日期並只使用時間?」。如果還有更多的話,我希望OP能這麼說。 –

相關問題