Oracle月度取季度末的数据实例

1-2-3月获取去年年底的数据 4-5-6获取3-31数据

     select

       'ck0g4403000' as NBJGH, --内部机构号

     '' as KMBH, --科目编号

     'CNY' AS BZ, --币种

      '20190430' AS RQ, --日期

      'RH004' AS BBMC, --报表名称

     '24' AS ZBH, --行号

    'B' AS ZBL, --列号

   0 AS SL, --数量

  case

        when to_char(TO_DATE('20190430','yyyymmdd'),'mm') IN (1,2,3) then

        (SELECT sum(cast(nvl(strValue,0) as decimal(38,2))) from Itemdata

WHERE STRITEMCODE = 'A80120003700003' and                      to_char(dtdate,'YYYYMMDD')=to_char(trunc(to_date('20190430','yyyymmdd'),'yyyy')-1,'yyyymmdd'))

when to_char(TO_DATE('20190430','yyyymmdd'),'mm') IN (4,5,6) then

(SELECT sum(cast(nvl(strValue,0) as decimal(38,2))) from Itemdata

WHERE STRITEMCODE = 'A80120003700003' and to_char(dtdate,'YYYYMMDD')=to_char(TO_DATE('20190430','yyyymmdd'),'yyyy')||'0331')

when to_char(TO_DATE('20190430','yyyymmdd'),'mm') IN (7,8,9) then

(SELECT sum(cast(nvl(strValue,0) as decimal(38,2))) from Itemdata

WHERE STRITEMCODE = 'A80120003700003' and to_char(dtdate,'YYYYMMDD')=to_char(TO_DATE('20190430','yyyymmdd'),'yyyy')||'0630')

when to_char(TO_DATE('20190430','yyyymmdd'),'mm') IN (10,11,12) then

(SELECT sum(cast(nvl(strValue,0) as decimal(38,2))) from Itemdata

WHERE STRITEMCODE = 'A80120003700003' and to_char(dtdate,'YYYYMMDD')=to_char(TO_DATE('20190430','yyyymmdd'),'yyyy')||'0930')

end as je

from dual;


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部