2013-01-22 51 views
1

使用DB2 SQL動態時間戳記DB2 SQL

我想從昨天2:00開始查詢記錄。我想要一個動態表達式,使我不必在運行查詢之前手動輸入當前日期。 created_datetime屬性是時間戳記dataype。

例如:

select record_key, other_stuff 
from table 
where created_datetime > "2 o'clock PM yesterday" 

這是一種動態的時間戳比較的甚至可能嗎?最後,我希望能夠做一個時間窗口,這會變得複雜!

select count(1) 
from table 
where created_datetime between "2 o'clock PM yesterday" and "2 o'clock PM today" 

我對當前日期很熟悉,但我試圖概念化我將如何利用它。下面的內容讓我接近,但它包含了查詢運行前24小時的所有內容。

select count(1) 
from table 
where created_datetime between (currentdate - 1 day) and (currentdate @ 2 o'clock PM) 

我知道這是一些非常基本的領土,我感到內疚,張貼了這個問題,但我的研究並沒有因此而任何東西對我來說至今。我感謝每一分鐘花在我身上的時間。

回答

1

嘗試這些

select record_key, other_stuff 
from table 
where created_datetime > CURRENT DATE - 10 HOURS 

select count(1) 
from table 
where created_datetime between (CURRENT DATE - 10 HOURS) and (CURRENT DATE + 14 HOURS) 

select count(1) 
from table 
where created_datetime between (CURRENT DATE - 1 DAYS) and (CURRENT DATE + 14 HOURS) 

從IBM開發工程庫:DB2 Basics: Fun with Dates and Times

有樣品存在堆。

E.g.

您也可以使用執行日期和時間計算,由於缺乏一個 更好的術語,英語:

current date + 1 YEAR 
current date + 3 YEARS + 2 MONTHS + 15 DAYS 
current time + 5 HOURS - 3 MINUTES + 10 SECONDS 
+0

我不能相信我沒有認識到當前的日期,可以使用這種方式。它的行爲很像一個基於我運行查詢的那一天的常量,然後我可以靜態地返回10小時並向前14小時。 –

+0

我是一個SQL Server的人,但我也喜歡它,它是一個很好的語法。 –