1、昨天的數據匯總
startday>=to_char(trunc($startday-1),'yyyyMMdd')
and startday <to_char(trunc($startday),'yyyyMMdd')
說明:$startday為時間標量 函數trunc($startday-10)用來求日期的前十天
函數to_char(trunc($startday-10),'yyyyMMdd')用來將求得日期以年月日的形式轉化為char類型
2、最近十天的數據匯總
startday>=to_char(trunc($startday-10),'yyyyMMdd')
and startday <to_char(trunc($startday),'yyyyMMdd')
說明:$startday為時間標量 函數trunc($startday-10)用來求日期的前十天
函數to_char(trunc($startday-10),'yyyyMMdd')用來將求得日期以年月日的形式轉化為char類型
二、月匯總例句
1、一個月數據匯總
startday>=to_char(trunc($startday,'mm'),'yyyyMMdd')
and startday <to_char(trunc(add_months($startday,1),'mm'),'yyyyMMdd')
說明:$startday為時間標量 函數trunc($startday,'mm')用來求日期所在月第一天
函數to_char(trunc($startday,'mm'),'yyyyMMdd')用來將求得日期所在月第一天以年月日的形式轉化為char類型
2、一個月內任意時間段內的數據匯總
求日期所在月的五號到月末之前的四天的匯總
startday>=to_char(trunc($startday,'mm')+4,'yyyyMMdd')
and startday <to_char(trunc(add_months($startday,1),'mm')-4,'yyyyMMdd')
三、周匯總例句
1、一個周數據匯總
startday>=to_char(trunc($startday,'d')+1,'yyyyMMdd')
and startday <to_char(trunc($startday,'d')+8,'yyyyMMdd')
說明:$startday為時間標量 函數trunc($startday,'d')用來求日期所在周的第一天根據所在地區不同可能為周日或周一
函數to_char(trunc($startday,'d')+1,'yyyyMMdd')用來將求得日期以年月日的形式轉化為char類型
說明一周的第一天為周日或者周一取決于你數據庫的nls設置
select * from nls_session_parameters;
alter session set NLS_TERRITORY='AMERICA';
四、小時匯總例句
1、求前N個小時的數據匯總
startday=to_char($startday,'yyyyMMdd') and
starttime>=to_char(trunc($startday-N/24,'hh24'),'hh24')||'0000' and
starttime<to_char(trunc($startday,'hh24'),'hh24')||'0000'
說明:$startday為時間標量 函數to_char($startday,'yyyyMMdd')用來求日期以年月日的形式轉化為char類型
函數to_char(trunc(sysdate-N/24,'hh24'),'hh24')用來將求得日期以24小時制的形式轉化為char類型