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

时间:2015-01-16 07:44:10

标签: sql-server-2008 datetime

我已经说过了

  

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

在我的数据库中。

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

  

13时50分

最后我想像这样进行查询

  

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

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

2 个答案:

答案 0 :(得分:9)

SELECT DATEPART(HOUR, GETDATE());
SELECT DATEPART(MINUTE, GETDATE());

MSDN: DATEPART

  

我希望得到13:50。这是方式

SELECT CAST(DATEPART(HOUR,   GETDATE())AS VARCHAR(2)) + ':' +
       CAST(DATEPART(MINUTE, GETDATE())AS VARCHAR(2))

我在SQL-Server 2005上没有TIME datatype,但这个should also work适合您:

SELECT LEFT(DATEADD(MINUTE, 10, (CONVERT(TIME(0),GETDATE()))),5) 

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

WHERE DATEPART(HOUR,   endTime)= DATEPART(HOUR, GETDATE())
 AND  DATEPART(MINUTE, endTime)= DATEPART(HOUR, GETDATE())

答案 1 :(得分:0)

尝试以下

SQL Server 2000/2005

SELECT 
    CONVERT(VARCHAR(8), GETDATE(), 108) AS HourMinuteSecond,
    CONVERT(VARCHAR(10), GETDATE(), 101) AS DateOnly;
GO

SQL Server 2008 Onwards

SELECT 
    CONVERT(TIME, GETDATE()) AS HourMinuteSeconds;
SELECT 
    CONVERT(DATE, GETDATE()) AS DateOnly;
GO

您可以了解更多here