上年初上年末

如何在这样的数据中返回上年初 上年末呢

日期是字符串格式

image.png

SQL ROBOT 发布于 2022-11-6 19:38
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2022-11-7 15:18

SELECT a.*,b.pro_amo as 年初,c.pro_amo as 年末 FROM tablea a

left join (

select * from tablea where substr(pro_date,6,2)='01'

) b on substr(a.pro_date,1,4)=substr(b.pro_date,1,4)

left join (

select * from tablea where substr(pro_date,6,2)='12'

) c on substr(a.pro_date,1,4)=substr(c.pro_date,1,4)-1

最佳回答
0
congerLv6高级互助
发布于2022-11-6 19:49(编辑于 2022-11-6 19:51)

把字段格式化一下,然后匹配即可

TO_CHAR(CURRENT_DATE,'YYYY-MM')

https://www.cnblogs.com/yuan88008/p/15597988.html

  • ROBOT ROBOT(提问者) 那怎末匹配呢 每个年份对应的上年年初和年末
    2022-11-07 10:23 
最佳回答
0
NikoLv4见习互助
发布于2022-11-7 15:15

image.png

SELECT (TRUNC(SYSDATE,'YYYY')-INTERVAL '1' YEAR) 上年年初,(TRUNC(SYSDATE,'YYYY')-INTERVAL '1' DAY)上年年末 FROM dual

--sysdate 改为你自己的日期字段就行了

  • 3关注人数
  • 408浏览人数
  • 最后回答于:2022-11-7 15:18
    请选择关闭问题的原因
    确定 取消
    返回顶部