我有一个下表,我需要选择返回当前季度内每分钟的值。例如,如果现在是15:19,我需要选择返回TIMESTAMP以及该季度中15:15到15:30之间的值。 也就是说,我需要选择返回当前一刻钟的最后一分钟。 DB是ORACLE。
TIMESTAMP | VALUE
11/11/2019 15:09 | 45
11/11/2019 15:10 | 10
11/11/2019 15:11 | 15
11/11/2019 15:12 | 35
11/11/2019 15:13 | 55
11/11/2019 15:14 | 25
11/11/2019 15:15 | 20
11/11/2019 15:16 | 22
11/11/2019 15:17 | 12
11/11/2019 15:18 | 10
11/11/2019 15:19 | 21
我尝试过TRUNC,但没有成功。
答案 0 :(得分:0)
您需要trunc
花费15分钟。
您可以使用以下逻辑来做到这一点:
Select * from your_table
Where your_timestamp_col
between trunc(systimestamp,'dd') + floor(to_char(systimestamp,'sssss.ff') / 900) / 96
And trunc(systimestamp,'dd') + ceil(to_char(systimestamp,'sssss.ff') / 900) / 96
在这里,900代表15分钟内的秒数,而96代表一天中这样的总数(24小时* 4个季度= 96)
干杯!