簡體   English   中英

在IBM DB2中,如何過濾以獲取一天中特定時間之間的數據

[英]How do you filter to get data that is in between a certain time of day in IBM DB2

我試圖在DB2數據庫中添加過濾條件。 我是新手,來自Oracle背景。 我正在嘗試獲取日期介於今天凌晨4點和今天凌晨5點之間的記錄。 我目前有以下查詢,返回零結果:

db2 => select datetimeColumn from datetimeExample WHERE datetimeColumn  BETWEEN timestamp(current date) - 1 day + 4 hour AND timestamp(current date) - 1 day + 13 hour

DATETIMECOLUMN
--------------------------

0 record(s) selected.

這是我認為應該顯示的表中數據,但條件語句有問題,我們將提供任何幫助

db2 => select * from datetimeExample

DATETIMECOLUMN
--------------------------
2016-06-16-09.38.53.759000
1988-12-25-17.12.30.000000
2016-12-25-17.10.30.000000
2016-06-16-04.10.30.000000
2016-06-16-05.10.30.000000
1988-12-25-15.12.30.000000
1988-12-25-14.12.30.000000
2016-06-16-12.10.30.000000
2016-06-16-07.10.30.000000
2016-06-16-08.10.30.000000

10 record(s) selected.

當您省略- 1 day該查詢應該起作用。 原因是timestamp(current date)返回今天零時的時間戳。 然后,您增加了4個小時,並處於所需的開始時間。 結束時間的數學運算類似(下午5點應為+ 17 hours )。

select datetimeColumn from datetimeExample
WHERE datetimeColumn  
BETWEEN timestamp(current date) + 4 hours AND timestamp(current date) + 17 hours

暫無
暫無

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

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