关于数据集的sql的where条件

数据集的sql中想实现 where 语句根据条件而不同。如果参数suozaisuo 不空,则suoshubumen列=suozaisuo;如果参数suozaisuo为空,则suoshubumen列=suozaiju。

select * from yqfk  where  suoshubumen="(if(len('${suozaisuo}')==0,'${suozaiju}','${suozaisuo}'))"

报错,怎么回事?

FineReport 帆软用户TeDKy2hfC0 发布于 2022-4-25 14:46 (编辑于 2022-4-25 14:48)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
snrtuemcLv8专家互助
发布于2022-4-25 14:47

select * from yqfk  where  suoshubumen=${if(len(suozaisuo)==0,suozaiju,suozaisuo)}

最佳回答
0
重庆一棵草Lv4中级互助
发布于2022-4-25 14:46(编辑于 2022-4-25 14:51)

${if(suozaisuo =""," suoshubumenin=suozaisuo","suoshubumen=suozaiju")}

你这个描述感觉有点不太清楚。明确不了你想实现什么。我这里就是如果suozaisuo参数值为空,那么where suoshubumenin=suozaisuo 如果suozaisuo不为空。就是where suoshubumen=suozaiju

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