如何仅从DateTime获取小时和分钟

aza*_*iya 4 datetime sql-server-2008

我已经说过了

'2015-01-16 13:50:00.000'

在我的数据库中.

我如何才获得时间和分钟?

13:50

最后我想做这样的查询

更新设置状态= 1 WHERE endTime = current_time()

*endTime =上面示例的字段名称.

Tim*_*ter 9

SELECT DATEPART(HOUR, GETDATE());
SELECT DATEPART(MINUTE, GETDATE());
Run Code Online (Sandbox Code Playgroud)

MSDN:DATEPART

我希望得到13:50.是这样的

SELECT CAST(DATEPART(HOUR,   GETDATE())AS VARCHAR(2)) + ':' +
       CAST(DATEPART(MINUTE, GETDATE())AS VARCHAR(2))
Run Code Online (Sandbox Code Playgroud)

我在SQL-Server 2005上没有TIME数据类型,但这对你也有用:

SELECT LEFT(DATEADD(MINUTE, 10, (CONVERT(TIME(0),GETDATE()))),5) 
Run Code Online (Sandbox Code Playgroud)

如果您想按小时+分钟部分过滤记录:

WHERE DATEPART(HOUR,   endTime)= DATEPART(HOUR, GETDATE())
 AND  DATEPART(MINUTE, endTime)= DATEPART(HOUR, GETDATE())
Run Code Online (Sandbox Code Playgroud)