期间查询多参数,如果起始月输入选择了,结束月未选择,或结束月选择了起始月未选择了

这种情况想显示单个月份数据,SQL该怎么写,现在是

FineReport yzmCemfD1047833 发布于 2022-4-8 17:09
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
fish19880902Lv4初级互助
发布于2022-4-8 17:36(编辑于 2022-4-8 17:50)

${if(and(len(startmonth)=0,len(endmonth)=0),"",

if(or(len(startmonth)=0,len(endmonth)=0)," and ACCOUNTING_PERIOD='" + startmonth + endmonth+ "'"," and ACCOUNTING_PERIOD>='" + startmonth + "'" + " and ACCOUNTING_PERIOD<='" + endmonth + "'"))}

  • yzmCemfD1047833 yzmCemfD1047833(提问者) 去了括号,只选起始月不选结束月,查询显示的是>=起始月的数据,显示的也不是=单个起始月数据
    2022-04-08 17:39 
  • fish19880902 fish19880902 回复 yzmCemfD1047833(提问者) ${if(and(len(startmonth)=0,len(endmonth)=0),\"\", if(or(len(startmonth)=0,len(endmonth)=0),\" and ACCOUNTING_PERIOD=\'\" + startmonth + endmonth+ \"\'\",\" and ACCOUNTING_PERIOD>=\'\" + startmonth + \"\'\" + \" and ACCOUNTING_PERIOD<=\'\" + endmonth + \"\'\"))}
    2022-04-08 17:49 
  • fish19880902 fish19880902 回复 yzmCemfD1047833(提问者) ${if(and(len(startmonth)=0,len(endmonth)=0),\"\", if(or(len(startmonth)=0,len(endmonth)=0),\" and ACCOUNTING_PERIOD=\'\" + startmonth + endmonth+ \"\'\",\" and ACCOUNTING_PERIOD>=\'\" + startmonth + \"\'\" + \" and ACCOUNTING_PERIOD<=\'\" + endmonth + \"\'\"))}
    2022-04-08 17:49 
  • fish19880902 fish19880902 回复 yzmCemfD1047833(提问者) 上面修改了
    2022-04-08 17:50 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-4-8 17:14(编辑于 2022-4-8 17:15)
<= 和>=后面的括号取消掉

又不是in要什么括号

最佳回答
0
助人为乐Lv4中级互助
发布于2022-4-8 17:43(编辑于 2022-4-8 17:43)

${if(and(startmonth="", endmonth !=""), "and endmonth  = ('"+replace(endmonth ,",","','")+"')", "")}

${if(and(startmonth !="", endmonth =""), "and startmonth = ('"+replace(endmonth ,",","','")+"')", "")}

${if(and(startmonth !="", endmonth !=""), "and startmonth >= ('"+replace(startmonth ,",","','")+"')", "")}

${if(and(startmonth !="", endmonth !=""), "and endmonth <= ('"+replace(endmonth ,",","','")+"')", "")}思路 就是多做几次判断。

  • 3关注人数
  • 377浏览人数
  • 最后回答于:2022-4-8 17:50
    请选择关闭问题的原因
    确定 取消
    返回顶部