17,090
社区成员
发帖
与我相关
我的任务
分享
select decode('a','b',to_date('2012-01-01','yyyy-mm-dd')+level-1,add_months(date'2012-01-01',level-1)) a_date
from dual
connect by level <= decode('a','b',
to_date('2012-02-01','yyyy-mm-dd') - to_date('2012-01-01','yyyy-mm-dd') +1,
months_between(to_date('2012-02-01','yyyy-mm-dd'),to_date('2012-01-01','yyyy-mm-dd'))+1)
select a_date,nvl(sum(c2),0) c2
from
(
select to_date('2012-01-01','yyyy-mm-dd')+level-1 a_date
from dual
connect by level <= to_date('2012-02-01','yyyy-mm-dd') - to_date('2012-01-01','yyyy-mm-dd') +1
) a left join t1 b on a_date= c1
group by a_date
order by a_date
with t1 as
(
select date'2012-01-01' c1,100 c2 from dual
union all
select date'2012-01-14' c1,200 c2 from dual
union all
select date'2012-01-03' c1,300 c2 from dual
union all
select date'2012-01-22' c1,400 c2 from dual
)
select a_date,nvl(sum(c2),0) c2
from
(
select date'2012-01-01'+level-1 a_date
from dual
connect by level <= 32
) a left join t1 b on a_date= c1
group by a_date
order by a_date
with t1 as
(
select date'2012-03-01' c1,100 c2 from dual
union all
select date'2012-03-14' c1,200 c2 from dual
union all
select date'2012-04-03' c1,300 c2 from dual
union all
select date'2012-04-22' c1,400 c2 from dual
)
select to_char(a_date,'yyyy-mm') a_date,nvl(sum(c2),0) c2
from
(
select add_months(date'2012-01-01',level-1) a_date
from dual
connect by level <= 5
) a left join t1 b on to_char(a_date,'yyyy-mm') = to_char(c1,'yyyy-mm')
group by to_char(a_date,'yyyy-mm')
order by a_date
a_date c2
---------------------------
1 2012-01 0
2 2012-02 0
3 2012-03 300
4 2012-04 700
5 2012-05 0
select decode(dateformat,'dd/mm/yy',
to_date('01/01/2012','dd/mm/yy')+level-1,
add_months(to_date('01/01/2012','dd/mm/yy'),level-1)) a_date
from dual
connect by level <= decode(dateformat,'dd/mm/yy',
to_date('01/02/2012','dd/mm/yy') - to_date('01/01/2012','dd/mm/yy') +1,
months_between(to_date('01/02/2012','dd/mm/yy'),to_date('01/01/2012','dd/mm/yy'))+1)
select decode(dateformat,'dd/mm/yy',
to_date('2012-01-01','yyyy-mm-dd')+level-1,
add_months(to_date('2012-01-01','yyyy-mm-dd'),level-1)) a_date
from dual
connect by level <= decode(dateformat,'dd/mm/yy',
to_date('2012-02-01','yyyy-mm-dd') - to_date('2012-01-01','yyyy-mm-dd') +1,
months_between(to_date('2012-02-01','yyyy-mm-dd'),to_date('2012-01-01','yyyy-mm-dd'))+1)