参数为空执行一个SQL,参数不为空执行另一个SQL

老哥们又有新问题,我参数为空的第一个SQL执行时,年份字段有一条数据是2024,有参数执行第二个SQL的时候,年份字段的数据是2024(1-11月),现在我有参数的时候这个不显示是为什么

FineReport boboboy 发布于 2025-1-13 09:39 (编辑于 2025-1-13 14:00)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-1-13 09:59

${if(len(国别地区)=0,

"select 国别地区,年份,出口歌,出口同比 \"出口同比%\",进口额,进口同比 \"进口同比%\" from jinchukou WHERE 国别地区 ='总值' order by 年份","select 国别地区,年份,出口额,出口同比 \"出口同比%\",进口额,进口同比  \"进口同比%\" from jinchukou WHERE  国别地区 ='"+国别地区+"'order by 年份")}

最佳回答
0
Z4u3z1Lv6专家互助
发布于2025-1-13 09:40(编辑于 2025-1-13 10:01)

${if(len(参数)=0,"sql1","sq2")}

--------

SQL改成

SELECT 国别地区,年份,出口同比 '出口同比%' ,进口额,进口同比 '进口同比%' from JINCHUKOU where 1=1${if(len(国别地区)==0," and 国别地区='总值'  "," and 国别地区='"+国别地区+"'")} order BY 年份

image.png

  • boboboy boboboy(提问者) 报错了
    2025-01-13 09:51 
  • Z4u3z1 Z4u3z1 回复 boboboy(提问者) SQL里面的别名用单引号不要用双引号
    2025-01-13 09:58 
最佳回答
0
华莉星宸Lv7专家互助
发布于2025-1-13 09:40(编辑于 2025-1-13 09:52)

 ${if(len(参数)==0,"select * from ta1","select * from ta2")}

--------------------

里面的改成单引号

image.png

  • boboboy boboboy(提问者) 报错了
    2025-01-13 09:51 
  • 华莉星宸 华莉星宸 回复 boboboy(提问者) 里面的改成单引号,看上面的截图
    2025-01-13 09:53 
  • boboboy boboboy(提问者) 还是报一样的错
    2025-01-13 09:53 
  • 华莉星宸 华莉星宸 回复 boboboy(提问者) 把你的SQL复杂出来,我给你改
    2025-01-13 09:55 
  • boboboy boboboy(提问者) 回复 华莉星宸 ${if(len(国别地区)==0,"select 国别地区,年份,出口额,出口同比 '出口同比%',进口额,进口同比 '进口同比%' from jinchukou WHERE 国别地区 = '总值' order by 年份",

    "select 国别地区,年份,出口额,出口同比 '出口同比%',进口额,进口同比 '进口同比%' from jinchukou WHERE 国别地区 = '${国别地区}' order by 年份")}
    2025-01-13 09:57 
最佳回答
0
农-农Lv6高级互助
发布于2025-1-13 09:53

双引号中文的字段名去掉

image.png

最佳回答
0
帆软用户WGXgDWGprZLv5见习互助
发布于2025-1-13 10:07

${if(len(国别地区)=0,'','/*')}

select 1 from jinchukou 

${if(len(国别地区)=0,'','*/')}

${if(len(国别地区)=0,'/*','')}

select 2 from jinchukou 

${if(len(国别地区)=0,'*/','')}

  • 5关注人数
  • 93浏览人数
  • 最后回答于:2025-1-13 14:00
    请选择关闭问题的原因
    确定 取消
    返回顶部