存储过程数据集日期型参数,如何传空值?

存储过程数据集,带有日期弄参数(Oracle 数据库date型),设置成日期型参数时如何传空值?目前是设置成日期型参数传空值查询不到数据。设置成字符串时,可以传空值并查询到结果,但当参数控件选择日期时,报错“ORA-01861: 文字与格式字符串不匹配”。现在报表太多这种情况了,一个个修改存储过程不现实,各位大神求救!

FineReport hank_lee 发布于 2019-7-24 10:06
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
wangjiaojiaoLv6见习互助
发布于2019-7-24 10:10

参数控件的日期格式是什么?

  • hank_lee hank_lee(提问者) 直接Select sysdate from dual,返回“2019-07-24 11:47:12”; dbms_output打印出来的是:“ 24-7月 -19”。
    2019-07-24 11:44 
最佳回答
0
虾米、木木Lv2初级互助
发布于2019-7-24 10:13

日期型参数设置成字符串

where 1=1 

${if(len(日期参数)>0," and 日期 = to_date('日期参数','yyyy-MM-dd')","")} 


  • hank_lee hank_lee(提问者) 大哥,我的是存储过程数据集呀,怎么写?
    2019-07-24 11:42 
最佳回答
0
doudekaixinLv6中级互助
发布于2019-7-24 10:23

起始日期传个超小值: 1800-01-01

结束日期传个超大值: 2800-01-01


  • hank_lee hank_lee(提问者) 那参数选择“允许为空”对日期参数不生效吗?
    2019-07-24 11:38 
  • doudekaixin doudekaixin 回复 hank_lee(提问者) - -! 抛开存储过程不说,在SQL语句不允许为空的前提下,实现允许为空。。。你在数据集写SQL是怎么写的?你不应该去改语句么? 好纠结。
    2019-07-24 12:10 
  • hank_lee hank_lee(提问者) 回复 doudekaixin 修改存储过程的方法是可以,但是我们现在用着大概几百张报表都涉及到这个情况了,在ReportingService上都是正常的,迁移到帆软就出现了这个问题呢
    2019-07-24 13:10 
  • 4关注人数
  • 1173浏览人数
  • 最后回答于:2019-7-24 10:23
    请选择关闭问题的原因
    确定 取消
    返回顶部