预览报错

image.pngimage.png各位老师,上方参数都选完以后查询报错,是什么原因

FineReport A0XPWI9Z 发布于 2025-8-20 10:00
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-8-20 11:49

有多个原因

ora-01861 文字与格式字符串不匹配   如果传日期的话要类似如下这样

${if(len(查询开始日期)=0,"","and trunc(bpa.BALANCEDATE)>=trunc(to_date('"+查询开始日期+"','yyyy-mm-dd'))")}

${if(len(查询截至日期)=0,"","and trunc(bpa.BALANCEDATE)<=trunc(to_date('"+查询截至日期+"','yyyy-mm-dd'))")}

 

如果是oracel中是日期格式,你在帆软中要用to_date函数转换一下就行了

ora-02063紧接着line起自 dzdd_dzdb

一个远程数据库链接(这里是 dzdd_dzdb)。说明你的 SQL 查询通过 DBLink 访问了远程数据库,在远程端执行时发生了 ORA-01861。,远程库解析失败,必须在本地就处理好格式

  • A0XPWI9Z A0XPWI9Z(提问者) 好的老师,我试一下,他还有个需求是时间只可以选择两年
    2025-08-20 12:19 
  • CD20160914 CD20160914 回复 A0XPWI9Z(提问者) 选择年,你的数据库中这个字段是日期?
    2025-08-20 13:17 
  • A0XPWI9Z A0XPWI9Z(提问者) 回复 CD20160914 对的,是日期
    2025-08-20 13:35 
  • CD20160914 CD20160914 回复 A0XPWI9Z(提问者) 那就用我上面类似的语句就行了,主要是拼一个to_date函数
    2025-08-20 13:53 
  • CD20160914 CD20160914 回复 A0XPWI9Z(提问者) 类似这样:where 1=1
    ${if(len(查询开始日期)=0,"","and date_time>=to_date('"+查询开始日期+"','yyyy-mm-dd')")}

    ${if(len(查询截至日期)=0,"","and date_time<to_date('"+DATEDELTA(查询截至日期,1)+"','yyyy-mm-dd')")}

    里面的date_time改成你数据库的字段
    2025-08-20 13:56 
最佳回答
0
用户k6280494Lv6专家互助
发布于2025-8-20 10:03(编辑于 2025-8-20 10:03)

多选?

image.png

  • A0XPWI9Z A0XPWI9Z(提问者) 老师 您说的是什么意思
    2025-08-20 10:06 
  • 用户k6280494 用户k6280494 回复 A0XPWI9Z(提问者) 就是你参数与数据库字段格式不匹配
    2025-08-20 10:07 
最佳回答
0
snrtuemcLv8专家互助
发布于2025-8-20 10:06

看你sql语句,以及你传递参数把

sql参数有问题

和你数据库字段格式对应不上

最佳回答
0
ID1208Lv6高级互助
发布于2025-8-20 10:33

参数格式可能有问题,与数据库字段格式不匹配,比如日期格式

可以先写固定值测试sql通不通,然后再查看控件参数值格式是否与字段匹配

  • 5关注人数
  • 46浏览人数
  • 最后回答于:2025-8-20 11:49
    请选择关闭问题的原因
    确定 取消
    返回顶部