数据集里的日期筛选条件怎么写

PAYMENTTIME字段处理后的格式为'2023-01-01' 的日期格式,请问要筛选两个日期内的数据,怎么写sql

FineReport 406349 发布于 2023-8-24 15:54 (编辑于 2023-8-24 16:01)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-8-24 16:02

PAYMENTTIME在数据库里面是日期字段的话直接这样就行了

${if(len(starttime)=0,"","and PAYMENTTIME>=to_date('"+starttime+"','yyyy-mm-dd')")}

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

最佳回答
0
用户bBKn44909079Lv3见习互助
发布于2023-8-24 15:55

你的参数也要转数据类型

  • 406349 406349(提问者) 转了之后报错是:数据集配置错误
    java.sql.SQLException: ORA-01722: invalid number
    2023-08-24 15:57 
  • 用户bBKn44909079 用户bBKn44909079 回复 406349(提问者) 你日期控件的格式就弄成YYYYMMDD,不要斜杠,再转一下数据类型
    2023-08-24 16:00 
最佳回答
0
JL98Lv6中级互助
发布于2023-8-24 15:57(编辑于 2023-8-24 16:03)

红色框内TO_DATE(,'YYYY-MM-DD')去掉,实在不行就写两个and 不要用 BETWEEN。。。AND 

1692863647515921.png

  • 406349 406349(提问者) 不是空的,是有默认值的,不加红框的筛选是能查出来的
    2023-08-24 15:59 
最佳回答
0
ZxxTLv6初级互助
发布于2023-8-24 15:59(编辑于 2023-8-24 16:00)

oracal,用TO_DATE()都转成日期型,帆软日期控件格式:"2023-01-01"在oracal会被认为是一个字符串,

  • 5关注人数
  • 227浏览人数
  • 最后回答于:2023-8-24 16:03
    请选择关闭问题的原因
    确定 取消
    返回顶部