Construct DateTime using today's date at a specific time

后端 未结 4 1430
春和景丽
春和景丽 2020-12-31 15:43

I\'d like to get 4:30 PM of the current day. Hard-coding this way doesn\'t work:

SELECT \'07242012 16:30:00.000\'

This is proving to be mor

4条回答
  •  误落风尘
    2020-12-31 16:20

    SQL Server 2000 / 2005:

    SELECT DATEADD(MINUTE, 30, DATEADD(HOUR, 16, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP)));
    
    -- or
    
    SELECT DATEADD(MINUTE, (16*60) + 30, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP))
    
    -- or
    
    SELECT CONVERT(DATETIME, CONVERT(CHAR(9), CURRENT_TIMESTAMP, 112) + '16:30');
    

    SQL Server 2008+:

    SELECT CONVERT(DATETIME, CONVERT(DATE, CURRENT_TIMESTAMP)) + '16:30';
    

    SQL Server 2012:

    SELECT SMALLDATETIMEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE()), 16, 30);
    

提交回复
热议问题