[SQL123] Oracle SQL 统计一定时间间隔内的数据

--Group by State_ts "per X minutes"
select to_char(state_ts, 'hh24')||':'||floor(to_char(state_ts, 'mi')/15)*15 tm, report_type, count(report_type)
from PETRA_ODRC_PP_01.tru_Reg_txn_report
where state_ts > to_date('15-Mar-19 08.00.00 AM','DD-MON-YY hh12.mi.ss AM') and state_ts < to_date('15-Mar-19 12.00.00 PM','DD-MON-YY hh12.mi.ss AM')
group by to_char(state_ts, 'hh24')||':'||floor(to_char(state_ts, 'mi')/15)*15, report_type;

 

https://www.cnblogs.com/yanghj010/p/5109714.html

天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小时:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分钟:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 60)

 

取得与系统时间相差某一个范围的时间值的记录的写法,举例:

select * from TELEPHONE_BOOK where ROUND(TO_NUMBER(SYSDATE - BOOK_DATE) * 24) between 72 and 96

获得与系统时间相差大于72小时小于96小时的记录。 

posted @ 2019-04-23 11:05  CathyGao2018  阅读(1169)  评论(0编辑  收藏  举报