帆软SQL

1.png

为什么我的条件没有生效

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

${if(len(MODEL_NAME) == 0,"SELECT MODEL_NAME,PROCESS,NAME,TERMINAL_ID,MAX_VALUE,MIN_VALUE,STANDARD_VALUE,'level'||PRIORITY as PRIORITY  FROM PLC.PARAM_STANDARD WHERE PRIORITY=9", "SELECT MODEL_NAME,PROCESS,NAME,TERMINAL_ID,MAX_VALUE,MIN_VALUE,STANDARD_VALUE,'level'||PRIORITY as PRIORITY FROM PLC.PARAM_STANDARD WHERE 1=1  ")} ${if(len(PROCESS) == 0, "", " and PROCESS = '" + PROCESS + "'" )}  

这样是有效的

不是有效的吗??

image.png

  • 用户W3018806 用户W3018806 这个不是有效的、写法有问题
    2023-04-19 08:33 
  • CD20160914 CD20160914 回复 用户W3018806 现在哪里有什么问题。
    2023-04-19 08:52 
  • 用户W3018806 用户W3018806 回复 CD20160914 你的${if(len(MODEL_NAME) == 0,\"SELECT MODEL_NAME,PROCESS,NAME,TERMINAL_ID,MAX_VALUE,MIN_VALUE,STANDARD_VALUE,\'level\'||PRIORITY as PRIORITY FROM PLC.PARAM_STANDARD WHERE PRIORITY=9\", \"SELECT MODEL_NAME,PROCESS,NAME,TERMINAL_ID,MAX_VALUE,MIN_VALUE,STANDARD_VALUE,\'level\'||PRIORITY as PRIORITY FROM PLC.PARAM_STANDARD WHERE 1=1 \")} 这里写的有问题if(条件真,\"拼接这里\",\"否则拼接这里\") 你直接写个SELECT 查询是要干嘛
    2023-04-19 08:59 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-4-19 08:49(编辑于 2023-4-19 08:50)

你这个明明是有效的。只是你没描述使用场景用需求没达到你要的结果,这个结果我们不知道,我们只能检查是否有语法错误。

我猜测:

SELECT MODEL_NAME,PROCESS,NAME,TERMINAL_ID,MAX_VALUE,MIN_VALUE,STANDARD_VALUE,'level'||PRIORITY as PRIORITY  FROM PLC.PARAM_STANDARD WHERE 1=1 ${if(len(MODEL_NAME)==0," and PRIORITY=9"," and MODEL_NAME='"+MODEL_NAME+"'")} ${if(len(PROCESS) == 0, "", " and PROCESS = '" + PROCESS + "'" )}  .......................

最佳回答
0
用户W3018806Lv4见习互助
发布于2023-4-19 08:57(编辑于 2023-4-19 09:06)

1681866234992.jpg刚看了下SQL、哪你没生效就要检查下SQL了

最佳回答
0
大林3143511Lv5中级互助
发布于2023-4-19 09:01

排查下帆软执行的SQL具体是什么:1681866065870.png

  • 4关注人数
  • 433浏览人数
  • 最后回答于:2023-4-19 09:06
    请选择关闭问题的原因
    确定 取消
    返回顶部