【问题标题】:How to display the days in 1 week in oracle?如何在oracle中显示1周内的天数?
【发布时间】:2014-04-01 09:07:11
【问题描述】:

我卡住了,请帮助我如何显示每周的封面天数(例如星期一、星期二等)。请帮我。谢谢!

所需的样本输出:

Data,03/24/2014,Monday,20,Tuesday,30.....
Data,03/31/2014,Monday,12,Tuesday,20.....

这是我的脚本:

select 'Data'
||','||to_char(d.dtime_day, 'MM/dd/yyyy')
||','||nvl(g.total, 0)
from tablename d
left join (
        select trunc(t.create_time, 'IW') as ddate
              ,count(t.create_time) as total
        from tablename1 t
        left join tablename2 q
        on q.id = t.queue_id
        where t.create_time between trunc(sysdate,'IW')-12*7 and sysdate -1
        and q.name not like 'Data1%'
        or q.name not like 'Data2%'
        or q.name not like 'Data3%'
        or q.name not like 'Data4%'
        or q.name not like 'Data5%'
        or q.name not like 'Data6%'
        or q.name not like 'Data7%'
        or q.name not like 'Data8%'
        or q.name not like 'Data9%'
        group by trunc(t.create_time, 'IW')
) g on d.dtime_day = g.ddate
where d.dtime_day between trunc(sysdate,'IW')-12*7 and trunc(sysdate) -1
and trunc(d.dtime_day, 'IW')= d.dtime_day
order by d.dtime_day;

脚本的输出:

Data,03/24/2014,42
Data,03/31/2014,25

【问题讨论】:

    标签: oracle plsql oracle-sqldeveloper plsqldeveloper


    【解决方案1】:

    您还可以使用 to_char 选择星期几,例如

    select to_char(sysdate, 'Day') from dual;
    

    【讨论】:

    • 我认为这正是我们所需要的
    • @ChrisProsser 抱歉,但这不是我所需要的。我想显示 7 天。例如我有这个查询 ||','||to_char(d.dtime_day, 'MM/dd/yyyy') 所以它显示每天的日期,我在查询 d.dtime_day 之间有这个 trunc(sysdate,'IW')这是每周显示。我只需要显示每周涵盖的日期
    • @Yang 天需要显示为列还是可以显示为行?
    • @ChrisProsser 天需要在一列中显示为行。我将在堆积柱形图中显示这些数据
    • @Yang 我觉得这有点难以想象。如果您能够在 sqlfiddle(sqlfiddle.com) 或您的问题中提供相关表的架构和一些示例数据,那么我很乐意进一步研究。
    猜你喜欢
    • 2019-06-22
    • 2020-02-26
    • 2021-07-04
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多