oracle问题,请教大家,我想要取一个日期区间内的所有周一,二。。。周日,sql怎么下
例如,日期区间2013/01/18到2013/02/09,这之间包含了3个星期一,3个星期二,3个星期三,3个星期四,4个星期五,4个星期六,3个星期日,sql该怎么下呢...
例如,日期区间2013/01/18到2013/02/09,这之间包含了3个星期一,3个星期二,3个星期三,3个星期四,4个星期五,4个星期六,3个星期日,sql该怎么下呢,没有idea,有想过要写成一个function,希望大家有写过或是知道怎么写的能告诉我下,最好有sql
我不只需要知道有几个星期几,我还想要取出分别是哪几天 展开
我不只需要知道有几个星期几,我还想要取出分别是哪几天 展开
2个回答
展开全部
select b.day,b.dd,sum(b.flag) over(partition by b.dd) as dd_sum
from
(select a.day,to_char(a.day,'day') as dd, 1 as flag
from
(SELECT TO_DATE('20130118', 'YYYY-MM-DD') + LEVEL - 1 DAY
FROM DUAL
CONNECT BY TO_DATE('20130118', 'YYYY-MM-DD') + LEVEL - 1 <=
TO_DATE('20130209', 'YYYY-MM-DD')
) a
) b
group by b.day
from
(select a.day,to_char(a.day,'day') as dd, 1 as flag
from
(SELECT TO_DATE('20130118', 'YYYY-MM-DD') + LEVEL - 1 DAY
FROM DUAL
CONNECT BY TO_DATE('20130118', 'YYYY-MM-DD') + LEVEL - 1 <=
TO_DATE('20130209', 'YYYY-MM-DD')
) a
) b
group by b.day
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询