2016-11-14 34 views
-1

我試圖按照時鐘時間獲取最新的整整半小時的數據。根據SQL中的時鐘時間數據最近的整整半小時

例如,如果getdate()返回'2016-11-14 10:14:25.567',我想將數據從'2016-11-14 09:30:00.000'更改爲'2016-11-14 10: 00:00.000'

+2

dateadd(minute,-30,getdate())? –

+0

因此,您希望它顯示getdate()所在的半小時(按每個時鐘時間)? –

+1

'哪裏yourcolumn> = dateadd(分鐘,-30,getdate())' –

回答

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 
+0

這就是我想要做的。非常感謝!! – user6363065

0

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

相關問題