if当参数时,看下面语句怎么错了

1642061688(1).jpg${if(find('绩效专员',fr_authority)>0," ","${fr_authority}")}

FineReport 是曾经 发布于 2022-1-13 15:51 (编辑于 2022-1-13 16:15)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
shirokoLv6资深互助
发布于2022-1-13 15:54(编辑于 2022-1-13 16:22)

${}里面就不要${}了

${if(find('绩效专员',fr_authority)>0," ",fr_authority)}

${if(find('绩效专员',fr_authority)>0," "," and 某字段='"+fr_authority+"'")}

  • 是曾经 是曾经(提问者) 加上这一句会出现sql未正确结束,去掉就好了
    2022-01-13 15:58 
  • 是曾经 是曾经(提问者) 这怎么回事
    2022-01-13 15:58 
  • shiroko shiroko 回复 是曾经(提问者) 你的fr_authority值是什么?这句语句是放在什么位置的?视情况要在这句话外面加上双引号或者单引号
    2022-01-13 16:00 
  • 是曾经 是曾经(提问者) 回复 shiroko 这个是放在最后的类似于取参数的位置
    2022-01-13 16:03 
  • shiroko shiroko 回复 是曾经(提问者) 不知道你语句什么呀,要不你试试吧,加双引号,单引号,还有前面加空格
    2022-01-13 16:07 
最佳回答
0
snrtuemcLv8专家互助
发布于2022-1-13 15:53

${if(find('绩效专员',fr_authority)>0," ",fr_authority)}

  • 是曾经 是曾经(提问者) 加上这一句会出现sql未正确结束,去掉就好了
    2022-01-13 15:58 
  • 是曾经 是曾经(提问者) 这怎么回事
    2022-01-13 15:58 
  • snrtuemc snrtuemc 回复 是曾经(提问者) 整个语句贴出来看看
    2022-01-13 16:06 
  • snrtuemc snrtuemc 回复 是曾经(提问者) 你这样肯定报错,你的fr_authority跟那个字段去过滤啊,要写进取得啊,像下面if语句一样
    2022-01-13 16:17 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-1-13 16:05(编辑于 2022-1-13 16:23)

${if(find("绩效专员",fr_authority)>0,""," and fr_authority")}

这样吗

你这段写的:${if(find('绩效专员',fr_authority)>0," ","${fr_authority}")}  先不管语法是否正确。肯定都有问题,你都是写在where后面限制了。。。你都没有真正限制如果纯净专员等于0的时候,,你要限制什么,,,你只是返回了一个字段。。而这个字段前面没有 and 后面又没有跟限制什么。。。。当然会错了。

  • 是曾经 是曾经(提问者) 还是提示未正确结束
    2022-01-13 16:07 
  • CD20160914 CD20160914 回复 是曾经(提问者) 你把你写的语句。截图出来。看一下你完整的。。。
    2022-01-13 16:08 
  • 是曾经 是曾经(提问者) 回复 CD20160914 发了
    2022-01-13 16:15 
  • CD20160914 CD20160914 回复 是曾经(提问者) 上面修改了。你少了and
    2022-01-13 16:17 
  • CD20160914 CD20160914 回复 是曾经(提问者) 但是你要的那个字段fr_authority要做什么呢。没有限制条件呀。。。加上and也有问题的。。
    2022-01-13 16:18 
最佳回答
0
墨残烛Lv5初级互助
发布于2022-1-13 16:16(编辑于 2022-1-13 16:24)

${if(find('绩效专员',fr_authority)>0,""," and 绩效专员 in('"+fr_authority+")'")}

最佳回答
0
浪兔Lv7初级互助
发布于2022-1-13 16:20(编辑于 2022-1-13 16:22)

问你噢,你的绩效专员条件不满足,执行到  fr_authority 这块,拼接出来的SQL语句是

select * from 表 where fr_authority 

这样的SQL本身拼接出来的就是错的。

所以你需要考虑,当这个条件不满足的时候,你需要干嘛。

  • 6关注人数
  • 531浏览人数
  • 最后回答于:2022-1-13 16:24
    请选择关闭问题的原因
    确定 取消
    返回顶部