oracle获取日期参数的年份

oracle用什么语句可以配合参数使用,获取当前参数的年或月。

网上能搜到的都试过了,用参数就出现错误

Darius 发布于 2019-8-23 13:39 (编辑于 2019-8-23 13:44)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
doudekaixinLv6中级互助
发布于2019-8-23 14:22(编辑于 2019-8-23 14:26)
${if(len(a)==0,"select '没有设置参数' from dual","Select to_number(to_char(to_date('"+a+"','yyyy-MM-dd'),'yyyy')) from dual")}

test.gif

最佳回答
0
lipfLv0见习互助
发布于2019-8-23 13:46

Select substr(to_char(参数,'yyyy-mm-dd'), 截取开始位置,截取长度) from dual

根据参数日期格式调整yyyy-mm-dd,yyyy-mm,yyyymmdd,yyyymm

使用substr进行年或月截取

  • Darius Darius(提问者) 参数应该写成什么格式呢,直接写$date会报错“缺失表达式”,加单引号‘$date’报错“无效数字”
    2019-08-23 13:51 
  • Darius Darius(提问者) 大括号是加了的,刚才评论里没加
    2019-08-23 14:01 
最佳回答
0
603594138Lv6初级互助
发布于2019-8-23 13:54

mid(参数,开始截取的位置,截取长度)

最佳回答
0
dazingLv6见习互助
发布于2019-8-23 13:57

${date}

  • Darius Darius(提问者) 这样写报错缺失表达式
    2019-08-23 13:59 
  • dazing dazing 回复 Darius(提问者) 方便把完整的sql语句看一下么
    2019-08-23 14:03 
  • Darius Darius(提问者) 回复 dazing select substr(to_char(\'${dat}\',\'yyyy-mm\'), 1,4) as a from dual
    2019-08-23 14:07 
  • Darius Darius(提问者) 回复 dazing 这些斜杆不知道怎么出来的,数据集里没有这些斜杠哈
    2019-08-23 14:09 
最佳回答
0
wd210010Lv7高级互助
发布于2019-8-23 14:02(编辑于 2019-8-23 14:13)

Select  to_char(参数,'yyyy-mm-dd') where 参数 = ${dat}'

qq 479607123 给你写

  • 5关注人数
  • 1898浏览人数
  • 最后回答于:2019-8-23 14:26
    请选择关闭问题的原因
    确定 取消
    返回顶部