如下Sql,需要在in中写replace,该如何实现,或者有没有公式可以实现

select * from Tablea where area in(replace('粤西&广西','&',','))

FineReport 帆软用户ICfzeObrHc 发布于 2023-12-28 09:37
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-12-28 09:40(编辑于 2023-12-28 09:41)

这个你不是写的已处理了吗?

select * from Tablea where area in('${replace("粤西&广西","&","','")}')

最佳回答
0
ID1208Lv6高级互助
发布于2023-12-28 10:05(编辑于 2023-12-28 11:03)

image.png

SELECT * FROM 雇员

where 姓名 in ('${replace("王伟&李芳","&","','")}')

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

原理一样,按照 in ('aa','bb')的格式处理

  • 帆软用户ICfzeObrHc 帆软用户ICfzeObrHc(提问者) 如果in中是嵌套的子查询呢。像这样:select * from Tablea where area in(select distinct case when sarea_name like \'%&%\' then replace(\'粤西&广西\', \'&\', \',\') else sarea_name end as sarea from BIdata where userid=\'19123\' and Roles=\'2\')
    2023-12-28 10:11 
  • ID1208 ID1208 回复 帆软用户ICfzeObrHc(提问者) 原理是一样的,in(\'aa\',\'bb\') 按这种格式处理
    2023-12-28 11:02 
最佳回答
0
青春只因年少Lv6中级互助
发布于2024-1-3 10:46

 ${if(len(target) == 0,"","and target in ('" + replace(target,",","','") + "')")}

高级语法 编辑器

  • 4关注人数
  • 274浏览人数
  • 最后回答于:2024-1-3 10:46
    请选择关闭问题的原因
    确定 取消
    返回顶部