首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何提取季度的开始日期和结束日期?

如何提取季度的开始日期和结束日期?
EN

Stack Overflow用户
提问于 2018-07-23 17:58:05
回答 1查看 104关注 0票数 0

在Oracle中,我希望通过传递季度值来提取季度的开始日期和结束日期。

例如v_quarter = 'Q2';

我想通过传递v_quarter值来获取开始和结束日期。另外,我的财政年度从4月份开始。因此,Q1应该是4-Jun,Q2应该是7-9月,依此类推。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-07-23 18:08:26

像这样的东西?

第2-4行表示行生成器技术之一,并创建全年("yr"),具有12个月(第4行)。

第2行:SYSDATE to 'yyyy'TRUNC返回01.01.2018。通过将月份(level - 1)相加12次,可以得到从1月到12月的月份。

第6-9行是“季度”,因为应用于日期值的'q'格式掩码返回季度。当您的会计年度从4月份开始时,CASE会切换季度。

最后,第11- 14行返回您作为参数传递的每个季度的起始月份和结束月份(第14行;我使用的是第一个季度的q = 1 )。

代码语言:javascript
代码运行次数:0
运行
复制
SQL> with yr as
  2    (select add_months(trunc(sysdate, 'yyyy'), level - 1) mon
  3     from dual
  4     connect by level <= 12
  5    ),
  6  qr as
  7    (select mon,
  8     case to_number(to_char(mon, 'q')) when 1 then 4 when 2 then 1 when 3 then 2 when 4 then 3 end q
  9     from yr
 10    )
 11  select to_char(min(mon), 'mon') min_month,
 12         to_char(max(mon), 'mon') max_month
 13  from qr
 14  where q = 1;

MIN MAX
--- ---
apr jun

SQL>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51476082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档