我有一列拉兩個日期,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分鐘
我有一列拉兩個日期,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分鐘
轉換您的日期時間的時間數據類型,然後一切正常。
例如:在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))
時間數據類型(您已標記了你的問題)。
這似乎是正確的答案,但它假設如果日期總是應該是今天。歐普說,關於'19000101',但沒有說明其餘日期 – Lamak
該表將始終填充19000101日期,所以我將這個解決方案標記爲答案。 – user3219693
這回答了問題中的最後一行:「我怎麼能過日期,但忽略日期並只使用時間?」。如果還有更多的話,我希望OP能這麼說。 –
那麼,當日期是'19000101'時,你認爲它是今天? – Lamak
是的,沒錯。 – user3219693