数据集传参问题(日期)

数据库表日期存储格式为:2024-01-02

日期传参语句:${if(len(starttime)=0,"","and  LY.CDATE>=to_date('"+starttime+"','yyyy-mm-dd')")}

${if(len(endtime)=0,"","and LY.CDATE<to_date('"+endtime+"','yyyy-mm-dd')")}

日期控件设置为:控件值 是 日期,格式 是 日期型, 返回值类型 是 日期型

点击预览的时候,直接报错:数据集 [HD台账] 配置错误ORA-00933: SQL 命令未正确结束

这是什么原因?传参语句写的不对?

FineReport 十三SSan 发布于 2024-1-2 14:13
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-1-2 14:37(编辑于 2024-1-2 14:56)

如果你是真正的日期格式比如是date,那么上面的语句是可以的。你现在的ora-00933是说你其它的地方有错误,难道你在数据集最后加了下分号?你去掉,或者改成下面的语句直接预览数据改。只要是真正的日期是不会报错的

----------------------------------------------------

select * from 表名称

where 1=1

${if(len(starttime)=0,"","and LY.CDATE>='"+starttime+"'")}

${if(len(endtime)=0,"","and LY.CDATE<='"+endtime+"'")}

最佳回答
0
Z4u3z1Lv6专家互助
发布于2024-1-2 14:15(编辑于 2024-1-2 14:23)

${if(len(starttime)=0,"","and  LY.CDATE>='"+FORMAT(starttime,"yyyy-MM-dd")+"'")}

参考这个写

----------

image.png

  • 十三SSan 十三SSan(提问者) 还是报了 我上边描述的错误 : 错误代码:11300001 数据集 [台账] 配置错误ORA-00933: SQL 命令未正确结束
    2024-01-02 14:22 
  • Z4u3z1 Z4u3z1 回复 十三SSan(提问者) 那把SQL贴完 或者参考上面的设置自己去日志提取完整的SQL看
    2024-01-02 14:23 
最佳回答
0
用户k6280494Lv6专家互助
发布于2024-1-2 14:17(编辑于 2024-1-2 14:25)

${if(len(starttime)=0,"","and  LY.CDATE>='"+FORMAT(starttime,"yyyy-MM-dd")+"'")}

${if(len(endtime)=0,"","and LY.CDATE<'"+FORMAT(endtime,"yyyy-MM-dd")+"'")}

image.png

  • 十三SSan 十三SSan(提问者) 这个写法行不通
    2024-01-02 14:22 
  • 用户k6280494 用户k6280494 回复 十三SSan(提问者) 那你直接把时间控件格式设置为年月日不就行了
    2024-01-02 14:24 
  • 用户k6280494 用户k6280494 回复 十三SSan(提问者) 公式哪里不用转,直接用就可以了
    2024-01-02 14:25 
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-1-2 14:26

${if(len(starttime)=0,"","and  to_char(LY.CDATE,'yyyy-MM-dd')>='"+starttime+"'")}

${if(len(endtime)=0,"","and to_char(LY.CDATE,'yyyy-MM-dd')<'"+endtime+"'")}

 

控件设置为字符串

image.png

  • 4关注人数
  • 339浏览人数
  • 最后回答于:2024-1-2 14:56
    请选择关闭问题的原因
    确定 取消
    返回顶部