如何獲得給定datetime
值的時間?使用T-SQL獲取日期時間?
我在數據庫中的datetime
這樣的:
2010-09-06 17:07:28.170
,並希望只有時間部分:
17:07:28.170
是否有那個什麼功能?
如何獲得給定datetime
值的時間?使用T-SQL獲取日期時間?
我在數據庫中的datetime
這樣的:
2010-09-06 17:07:28.170
,並希望只有時間部分:
17:07:28.170
是否有那個什麼功能?
在SQL Server的情況下,這應該工作
SELECT CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond
假設你的問題的標題是正確的,你想要的時間:
SELECT CONVERT(char,GETDATE(),14)
編輯,包括毫秒。
我想補充的是從SQL Server 2008,有一個時間數據類型,所以從那時起,你可以這樣做:
SELECT CONVERT(TIME, GETDATE())
可能是那些使用SQL 2008+,找到這個問題非常有用。
這是一個很好的答案。 @grady你應該接受這個或要求更多的信息。 – 2015-03-13 13:53:15
或更精確地說:轉換(TIME [(fractional second precision)],GETDATE())(使用精度0來截斷亞秒) – tbone 2016-06-23 21:39:14
@MarkS這不能被接受,因爲它不適用於SQL 2000 OP顯式指定)。在SQL 2000中沒有TIME類型。實際上它不應該有任何投票,因爲它不回答問題。 – DaveBoltman 2017-11-27 16:11:05
CAST(CONVERT(CHAR(8),GETUTCDATE(),114) AS DATETIME)
在SQL Server 2008+
CAST(GETUTCDATE() AS TIME)
試試這個
SELECT CAST(DataField AS time(7)) AS 'time'
完美的SQL Server 2005的 – element11 2016-02-04 19:37:09