使用SQL查询出今年及上一年的每个月份

Gabe_Newell 2016-05-27 03:41:06
如:今年是2016年,则结果为
2015-01
2015-02
2015-03
.
.
.
2016-11
2016-12
...全文
2072 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
js14982 2016-05-27
  • 打赏
  • 举报
回复

select '2015-01' mon from dual
union all
select '2015-02' mon from dual
union all
select '2015-03' mon from dual
union all
select '2015-04' mon from dual
union all
select '2015-05' mon from dual
union all
select '2015-06' mon from dual
union all
select '2015-07' mon from dual
union all
select '2015-08' mon from dual
union all
select '2015-09' mon from dual
union all
select '2015-10' mon from dual
union all
select '2015-11' mon from dual
union all
select '2015-12' mon from dual
union all
select '2016-01' mon from dual
union all
select '2016-02' mon from dual
union all
select '2016-03' mon from dual
union all
select '2016-04' mon from dual
union all
select '2016-05' mon from dual
union all
select '2016-06' mon from dual
union all
select '2016-07' mon from dual
union all
select '2016-08' mon from dual
union all
select '2016-09' mon from dual
union all
select '2016-10' mon from dual
union all
select '2016-11' mon from dual
union all
select '2016-12' mon from dual
order by 1;

ghx287524027 2016-05-27
  • 打赏
  • 举报
回复
单纯的查出两年的所有月份容易实现,看你具体需求吧~
蓝色蛋饼 2016-05-27
  • 打赏
  • 举报
回复
select to_char(add_months(to_date('2016' || '1231', 'yyyy-mm-dd'),
                          -level + 1), --从2016年年底往上计算24个月
               'YYYY-MM') mon
  from dual
connect by level <= 24 --2年24个月
 order by mon;
Z_B_Hrunqian 2016-05-27
  • 打赏
  • 举报
回复
时间 between to_date(to_char(sysdate,'yyyy')-1||'-1-1 0:0:0','yyyy-mm-dd hh24:mi:ss') and sysdate,后面按年月group by一下

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧