根据SQL

时间:2016-11-14 16:20:51

标签: sql-server getdate

我尝试按照时钟时间获取最近整整半小时的数据。

例如,如果getdate()返回'2016-11-14 10:14:25.567',我想要数据从'2016-11-14 09:30:00.000'到'2016-11-14 10:00 :00.000'

2 个答案:

答案 0 :(得分:1)

我想你想要这样的东西;

DECLARE @DateVariable datetime; SET @DateVariable = GETDATE()

SELECT
    @DateVariable Current_DateTime
    ,DATEADD(mi,-30, CONVERT(smalldatetime, ROUND(CAST(@DateVariable AS float) * 48.0,0,1)/48.0) ) From_Time
    ,CONVERT(smalldatetime, ROUND(CAST(@DateVariable AS float) * 48.0,0,1)/48.0) To_Time

现在日期变量(2016-11-14 16:26:52)它会给你最后一个半小时

结果将如下所示;

Current_DateTime            From_Time               To_Time
2016-11-14 16:26:52.073     2016-11-14 15:30:00     2016-11-14 16:00:00

答案 1 :(得分:0)

使用DateADD(mi, -30, getdate())