使用T-SQL获取日期时间?

时间:2010-09-07 07:14:34

标签: sql-server tsql datetime sql-server-2000

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

我在数据库中有datetime,如下所示:

2010-09-06 17:07:28.170

并且只想要时间部分:

17:07:28.170

是否有某种功能?

6 个答案:

答案 0 :(得分:91)

只是从SQL Server 2008中添加一个TIME数据类型,所以从那时起你可以这样做:

SELECT CONVERT(TIME, GETDATE())

对于那些使用SQL 2008+并找到这个问题的人来说可能很有用。

答案 1 :(得分:18)

对于SQL Server,这应该可以正常工作

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

答案 2 :(得分:11)

试试这个

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

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

答案 3 :(得分:10)

假设您的问题的标题是正确的,并且您想要时间:

SELECT CONVERT(char,GETDATE(),14) 

编辑包含毫秒。

答案 4 :(得分:4)

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

IN SQL Server 2008 +

CAST(GETUTCDATE() AS TIME)

答案 5 :(得分:0)

您可以尝试以下代码以HH:MM格式获取时间:

urlopen