使用T-SQL获取date时间?

如何获得给定datetime时间值的时间?

我在这样的数据库中有一个datetime时间:

 2010-09-06 17:07:28.170 

只想要时间部分:

 17:07:28.170 

有没有这样的function?

只是从SQL Server 2008中添加,有一个TIME数据types,所以你可以做:

 SELECT CONVERT(TIME, GETDATE()) 

可能对于那些使用SQL 2008+并find这个问题有用。

在SQL Server的情况下,这应该工作

 SELECT CONVERT(VARCHAR(8),GETDATE(),108) AS HourMinuteSecond 

假设你的问题的标题是正确的,你想要的时间:

 SELECT CONVERT(char,GETDATE(),14) 

编辑包括毫秒。

尝试这个

 SELECT CAST(DataField AS time(7)) AS 'time' 

http://msdn.microsoft.com/en-us/library/bb677243.aspx

 CAST(CONVERT(CHAR(8),GETUTCDATE(),114) AS DATETIME) 

在SQL Server 2008+中

 CAST(GETUTCDATE() AS TIME)