treelayer函数返回值

使用的treelayer()函数,结果返回完成层次路径,${if(len(tree_workshop)=0,"","and device in ("+"'"+treelayer(tree_workshop,true,"\',\'")+"'"+")")}

,结果返回值为('AA", "BB","CC')这样的值,中间的返回值","导致报错,怎么改为','呢

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

${if(len(tree_workshop)=0,"","and device in ("+"'"+replace(treelayer(tree_workshop,true,"\',\'"),'"',"'")+"'"+")")}

最佳回答
0
ScyalcireLv7高级互助
发布于2025-6-17 15:12

修改treelayer的第三个参数,将 "\',\'" 改为 ‌"','"‌(去掉反斜杠转义)

select * from table 

where 1=1 

${if(len(tree_workshop)=0,"","and device in ('"+treelayer(tree_workshop,true,"','")+"')")}

  • ZZZMing ZZZMing(提问者) 去掉\还是不行,楼上的替换字符可以用了
    2025-06-17 15:16 
最佳回答
0
Yours飞飞Lv5见习互助
发布于2025-6-17 15:12

treelayer($tree, 2, true, "\',\'") → "值1','值2"

  • 4关注人数
  • 33浏览人数
  • 最后回答于:2025-6-17 15:13
    请选择关闭问题的原因
    确定 取消
    返回顶部