请教一个sql时间问题

sql中我想写传入一个参数,然后时间取这个参数所在年的去年年底到这个参数的时间段应该怎么写? 我这么写报错time between  trunc(${结束日期},'yyyy')-1 and to_date('${结束日期}','YYYY-MM-DD') 但是他报错,

lincoder 发布于 2020-7-2 14:50
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
lincoderLv5初级互助
发布于2020-7-2 16:00

between  trunc(to_date('${结束日期}','YYYY-MM-DD'),'yyyy')-1 and to_date('${结束日期}','YYYY-MM-DD')

最佳回答
1
ADreamLv5中级互助
发布于2020-7-2 15:00(编辑于 2020-7-2 15:01)



between  add_months(to_date('${结束日期}','yyyy-mm'),-12) and to_date('${结束日期}','YYYY-MM-DD') 

  • lincoder lincoder(提问者) 报ora_01830
    2020-07-02 15:03 
  • ADream ADream 回复 lincoder(提问者) 你结束日期你要把日期代入啊 如果你是 2020-05-01 那就是 between add_months(to_date(\'${结束日期}\',\'yyyy-mm-dd\'),-12) and to_date(\'${结束日期}\',\'YYYY-MM-DD\')
    2020-07-02 15:09 
  • lincoder lincoder(提问者) 回复 ADream 无效字符,是不是这斜杠位置不对啊?我看一个在引号内一个在引号外
    2020-07-02 15:12 
  • ADream ADream 回复 lincoder(提问者) 斜杠全部不要啊 代码是没有斜杠的
    2020-07-02 15:35 
  • lincoder lincoder(提问者) 可以了行事啊大腿
    2020-07-02 15:44 
最佳回答
0
luojian0323Lv7资深互助
发布于2020-7-2 14:55(编辑于 2020-7-2 15:06)

去年年底是一个什么概念呢?是上一年的最后一天日期吗?

如果你日期参数是日期型,那可以直接这样写啊

between  trunc(${结束日期},'yyyy')-1 and ${结束日期}

最佳回答
0
zsh331Lv8专家互助
发布于2020-7-2 14:55
timt between ${FORMAT(DATEINYEAR(YEARDELTA(结束日期,-1),-1),"yyyy-MM-dd")} and 
${FORMAT(结束日期,"yyyy-MM-dd")}


  • 3关注人数
  • 452浏览人数
  • 最后回答于:2020-7-2 16:00
    请选择关闭问题的原因
    确定 取消
    返回顶部