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

如何得到一个给定的 datetime值的时间?

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

2010-09-06 17:07:28.170

只想要时间部分:

17:07:28.170

有什么功能吗?

168507 次浏览

对于 SQLServer,这应该可以工作

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

假设你的问题题目是正确的,你需要时间:

SELECT CONVERT(char,GETDATE(),14)

编辑为包含毫秒。

只需要在 SQLServer2008中添加一个 TIME 数据类型,从那时起您就可以执行:

SELECT CONVERT(TIME, GETDATE())

对于那些使用 SQL2008 + 并发现这个问题的人可能有用。

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

INSQLServer2008 +

CAST(GETUTCDATE() AS TIME)

试试这个

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

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

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

 SELECT CONVERT(VARCHAR(5),getdate(),108)