Oracle按不同时间查询

来源:互联网 发布:顾毓琇纪念馆 知乎 编辑:程序博客网 时间:2024/06/06 02:20

时间字段为date

to_char()转为字符类型按照规则显示

1.按照月度查询

select  to_char(时间字段,'mm'),p.f_code,count(统计字段1),sum(统计字段2)
from 表一 p ,表二 d
where 查询条件
group by to_char(时间字段,'mm'),p.f_code

2、按照季度插叙

to_char(p.f_starttime,'q')

3、按年度查询

to_char(p.f_starttime,'yyyy')

4、自定义时间查询

select  p.f_code,count(统计字段1),sum(统计字段2)
from 表一 p ,表二 d
where 查询条件
and to_date(p.f_starttime,'yyyy-mm-dd')>=to_date(startime,'yyyy-mm-dd' )
and to_date(p.f_starttime,'yyyy-mm-dd')<=to_date(endtime,'yyyy-mm-dd' )

5、查询本周数据

select to_char(时间字段,'yyyy-mm-dd'),p.f_target,sum(p.f_result)/count(p.f_result) from ds_t_process p
where to_char(p.f_starttime,'yyyymmdd')> to_char(sysdate-8,'yyyymmdd')
and  to_char(p.f_starttime,'yyyymmdd')!=to_char(sysdate,'yyyymmdd')

and p.f_target!='00'
group by to_char(p.f_starttime,'yyyy-mm-dd'),p.f_target
order by to_char(p.f_starttime,'yyyy-mm-dd')

sysdate为当前时间

还可用trunc函数:待研究


原创粉丝点击