帆软IF条件中同时判断两个参数,该怎么写语法

p_cal和p_e_month都是参数,在IF判断中怎么写

运行第一行能正常执行,把固定的字符串换成函数运行报错

${IF(p_cal = "按月" && p_e_month <="202507", " AND TO_CHAR(business_date, 'yyyyMM') >= '" + p_s_month + "' AND TO_CHAR(business_date, 'yyyyMM') <= '" + p_e_month + "'", "")}

${IF(p_cal = "按月" && p_e_month <=to_char(CURRENT_DATE,'yyyymm'), " AND TO_CHAR(business_date, 'yyyyMM') >= '" + p_s_month + "' AND TO_CHAR(business_date, 'yyyyMM') <= '" + p_e_month + "'", "")}

image.png

FineReport lvzh 发布于 2025-8-5 15:03 (编辑于 2025-8-5 15:32)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
lvzhLv3见习互助
发布于2025-8-5 16:35

换成  && p_e_month <="select to_char(CURRENT_DATE,'yyyymm')"

最佳回答
1
snrtuemcLv8专家互助
发布于2025-8-5 15:11(编辑于 2025-8-5 15:33)

and(XXX,XXX1)

这个写法可以,你是if()这个丢了()

image.png

=============

这个写法

${IF(p_cal = "按月" && p_e_month <=format(today(),'yyyyMM'), " AND TO_CHAR(business_date, 'yyyyMM') >= '" + p_s_month + "' AND TO_CHAR(business_date, 'yyyyMM') <= '" + p_e_month + "'", "")}

  • lvzh lvzh(提问者) 报$附近的错误,运行跟我标注的上面一行一样的错误
    2025-08-05 16:07 
  • snrtuemc snrtuemc 回复 lvzh(提问者) 你完整语句拷贝下,估计你是其他地方问题,直接这个语句是不会报错的
    2025-08-05 16:09 
  • lvzh lvzh(提问者) 回复 snrtuemc && p_e_month <="select to_char(CURRENT_DATE,'yyyymm')" 单引号导致的报错,换成这样就可以了
    2025-08-05 16:27 
最佳回答
0
华莉星宸Lv7专家互助
发布于2025-8-5 15:07

 ${if(参数1='AA'&&参数2='BBB',""," and 字段 in ('"+参数+"')")}

  • lvzh lvzh(提问者) 我上面那行是这样写的,运行报错了
    2025-08-05 15:08 
  • 华莉星宸 华莉星宸 回复 lvzh(提问者) 两个条件用&&连接啊
    可以说明一下你的判断逻辑,或是你想在if中嵌套?
    2025-08-05 15:09 
  • 华莉星宸 华莉星宸 回复 lvzh(提问者) to_char是数据库函数,不是帆软的函数,你这样写帆软不认识。
    2025-08-05 15:53 
最佳回答
0
ScyalcireLv7高级互助
发布于2025-8-5 15:16(编辑于 2025-8-5 15:58)

${IF(p_cal == "按月" && p_e_month <= FORMAT(TODAY(), "yyyyMM"), 

    " AND TO_CHAR(business_date, 'yyyyMM') >= '" + p_s_month + "' AND TO_CHAR(business_date, 'yyyyMM') <= '" + p_e_month + "'", 

    "")}

  • lvzh lvzh(提问者) 我试了一下拼上&& p_e_month == "202507"可以执行,但是如果&& p_e_month =to_char(CURRENT_DATE,'yyyymm')运行报错了
    2025-08-05 15:22 
  • Scyalcire Scyalcire 回复 lvzh(提问者) 你这个是哪种数据库啊,是不是不支持to_char
    2025-08-05 15:53 
  • lvzh lvzh(提问者) 回复 Scyalcire 可以执行这个,感觉是加了''的缘故
    2025-08-05 15:55 
  • Scyalcire Scyalcire 回复 lvzh(提问者) 跑一下我刚才回复的代码
    2025-08-05 15:59 
  • lvzh lvzh(提问者) 回复 Scyalcire 试过了一样会报错,报$附近的错误
    2025-08-05 16:05 
  • 3关注人数
  • 102浏览人数
  • 最后回答于:2025-8-5 16:35
    请选择关闭问题的原因
    确定 取消
    返回顶部