簡體   English   中英

如何從當前時間戳獲得最后24小時?

[英]How to get last 24 hours from current time-stamp?

我試圖在過去24小時內提取所有數據,但是從當前時間開始。 如果當前日期時間是5/3而時間是11:30,那么我想從11:30開始最后24小時。 日期字段的數據類型是datetime ,它只有沒有秒的日期和時間值。 這是我當前的查詢

select Name, Location, myDate from myTable where myDate>= getdate()-24

上面的查詢給了我一切,但我只想從當前時間。 這就是myDate在表格中的樣子

 2015-03-05 10:30:00.000
2015-03-05 11:00:00.000
2015-03-05 11:30:00.000
2015-03-05 12:00:00.000
2015-03-05 12:30:00.000
2015-03-05 13:00:00.000
2015-03-05 13:30:00.000
2015-03-05 14:00:00.000
2015-03-05 14:30:00.000

為了更明確地表達您的意圖,您可能需要像這樣編寫查詢:

 select Name, Location, myDate from myTable where myDate>= DATEADD(hh, -24, GETDATE())

SQL Server DATEADD

我認為問題在於:

select Name, Location, myDate from myTable where myDate>= getdate()-24

-24這將是-24天

嘗試:

select Name, Location, myDate from myTable where myDate>= getdate()-1

另一種方法是使用日期添加功能:

http://www.w3schools.com/sql/func_dateadd.asp

DATEADD(datepart,number,date)

在您的情況下,您可以:

    select Name, Location, myDate from myTable where myDate>= DATEPART (dd, -1, GETDATE())

我們在哪里添加負數dd(天)

假設您使用的是SQL Server 2012或更高版本,則可以使用ANSI間隔文字而不是dateadd()

select Name, Location, myDate from myTable
 where myDate>= getdate() - INTERVAL '24' HOUR;

如果你想成為ANSI標准,你可以使用CURRENT_TIMESTAMP而不是getdate()兩者是等價的 )。

select Name, Location, myDate from myTable
 where myDate >= CURRENT_TIMESTAMP - INTERVAL '24' HOUR;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM