帆软报表参数多条件查询,空日期直接过滤(状态,电话,申请人都可以,日期的转化有问题)

数据库日期是date类型:

blob.pngblob.pngblob.pngblob.png

现在上面这张图,日期是字符串格式,可以搜索了,需要手动去输入日期格式2019/07/22

有没有直接会转化日期格式的(我觉得是不是参数只能单独放着,不能有to_date,to_char去处理)

FineReport 木子嗯哼 发布于 2019-7-22 16:12 (编辑于 2019-7-22 16:58)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
1
PoseidonLv5高级互助
发布于2019-7-22 16:16(编辑于 2019-7-22 16:17)

你日期也加个if判断啊,为空了当然会抛异常


我看你下面不是有日期的IF么,直接使用啊

最佳回答
1
rabbitliuLv7初级互助
发布于2019-7-22 16:18(编辑于 2019-7-22 16:25)

image.png

我觉得倒不如你的日期控件的格式换一下。

换成这个。然后你的数据库的日期字段改成 to_char(sq_date,'yyyy/M/d')



试一下。

  • 木子嗯哼 木子嗯哼(提问者) 把数据库的日期转化成和帆软日期参数一样的,想让两个相等,,,不知道怎么转化了
    2019-07-22 16:19 
  • 木子嗯哼 木子嗯哼(提问者) 发生的问题是:错误代码:1301 数据集配置错误
    Query:
    ORA-01821: 日期格式无法识别
    2019-07-22 16:30 
  • 木子嗯哼 木子嗯哼(提问者) ${if(len(时间) == 0,\"\",\"and to_char(sq_date,\'yyyy/M/d\')=\'\"+时间+\"\'\")}
    2019-07-22 16:31 
最佳回答
1
Kevin-sLv7中级互助
发布于2019-7-22 16:32(编辑于 2019-7-22 16:39)

你用下面的一句的时候要把上面的and去掉,试试看

image.png你把这一句注释掉,image.png这个解注释掉

  • 木子嗯哼 木子嗯哼(提问者) 没懂,不能没and把
    2019-07-22 16:35 
  • 木子嗯哼 木子嗯哼(提问者) SELECT * FROM proddta.GW_FR_SYZISQ WHERE 1=1 --and to_char(TO_DATE(\'${时间}\', \'YYYY/MM/DD\'), \'yyyyddd\') =to_char(SQ_DATE, \'yyyyddd\') ${if(len(状态) == 0,\"\",\"and ZHUANGTAI LIKE \'%\" +状态+ \"%\'\")} ${if(len(电话) == 0,\"\",\"and JS_TEL LIKE \'%\" +电话+ \"%\'\")} ${if(len(资料申请人) == 0,\"\",\"and ZLSQR LIKE \'%\" +资料申请人+ \"%\'\")} ${if(len(时间) == 0,\"\",\"and to_char(sq_date,\'yyyy/M/d\')=\'\"+时间+\"\'\")} order by sq_date desc
    2019-07-22 16:35 
  • 木子嗯哼 木子嗯哼(提问者) 麻烦试试改改
    2019-07-22 16:35 
  • Kevin-s Kevin-s 回复 木子嗯哼(提问者) 你按我刚刚更改的回答试一下
    2019-07-22 16:40 
  • 木子嗯哼 木子嗯哼(提问者) 直接就报错 发生的问题是:错误代码:1301 数据集配置错误
    Query:
    ORA-00933: SQL 命令未正确结束
    2019-07-22 16:42 
最佳回答
0
DlesLv6初级互助
发布于2019-7-22 16:51

为什么要用yyyyddd格式比较呢,还有你要把控件属性截图粘出来

最佳回答
0
先知Lv5见习互助
发布于2019-7-23 11:18

敘述問題折磨啰嗦那

  • 6关注人数
  • 2269浏览人数
  • 最后回答于:2019-7-23 11:18
    请选择关闭问题的原因
    确定 取消
    返回顶部