sql里面判断日期大于等于字符串格式的日期pv1变量,且小于等于字符串格式的日期pv2变量怎么写

${IF(len(pv1)==0,"","and  t.FDATE >=" +"to_date(pv1,'YYYY-MM-DD')")}

${IF(len(pv2)==0,"","and  t.FDATE <=" + "to_date(pv2,'YYYY-MM-DD')")}

我是这样写的,一直报错,pv1和pv2是字符串类型的日期格式,FDATE是日期类型 的

image.png

image.png

FineReport 帆软用户TQ6gXR9SO6 发布于 2022-5-24 10:37 (编辑于 2022-5-24 11:08)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-5-24 11:09(编辑于 2022-5-24 11:18)

你是oracel数据库?

where 1=1

${if(len(pv1)=0,"","and trunc(t.FDATE)>=trunc(to_date('"+pv1+"','yyyy-mm-dd'))")}

${if(len(pv2)=0,"","and trunc(t.FDATE)<=trunc(to_date('"+pv2+"','yyyy-mm-dd'))")}

最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-5-24 10:39(编辑于 2022-5-24 10:40)

FDATE 和PV1,PV2格式一样就行

${IF(len(pv1)==0,"","and  t.FDATE >='"+pv1+"')}

${IF(len(pv1)==0,"","and  t.FDATE <='"+pv2+"')}

  • 帆软用户TQ6gXR9SO6 帆软用户TQ6gXR9SO6(提问者) 按你这样写参数过滤没有起作用了,查了所有的数据
    2022-05-24 10:56 
  • Z4u3z1 Z4u3z1 回复 帆软用户TQ6gXR9SO6(提问者) 截个图:数据库中FDATE的数据以及 pv1,pv2两个参数的格式
    2022-05-24 10:58 
  • 帆软用户TQ6gXR9SO6 帆软用户TQ6gXR9SO6(提问者) 回复 Z4u3z1 我改成这样了 ${IF(len(pv1)==0,\"\",\"and to_char(t.FDATE,\'YYYY-MM-DD\') >=\'\"+pv1+\"\')} ${IF(len(pv2)==0,\"\",\"and to_char(t.FDATE,\'YYYY-MM-DD\') <=\'\"+pv2+\"\')} pv1 2022-04-21 pv2 2022-05-20 FDATE :DATE,我补充截图在提问里
    2022-05-24 11:06 
  • Z4u3z1 Z4u3z1 回复 帆软用户TQ6gXR9SO6(提问者) https://blog.csdn.net/chuan_zhang_ak/article/details/79261421 是不是大小写原因
    2022-05-24 11:10 
  • Z4u3z1 Z4u3z1 回复 帆软用户TQ6gXR9SO6(提问者) 不对的嘛你的FDATE 只有7位啊
    2022-05-24 11:11 
最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2022-5-24 10:40

${IF(len(pv1)==0,"","and  t.FDATE >='" +to_date(pv1,'YYYY-MM-DD')+"'")}

最佳回答
0
坚果联盟Lv4见习互助
发布于2022-5-24 11:00

可以用convert

  • 4关注人数
  • 300浏览人数
  • 最后回答于:2022-5-24 11:18
    请选择关闭问题的原因
    确定 取消
    返回顶部