在数据集的sql中如何使用帆软的replace替换掉传入参数的值

1.content是一条sql参数

image.png

2.如何用replace函数将content里的某个符号给替换了

比如content参数的值为select * from abc

想要在这里面使用帆软函数replace(${content},abc, abc order by aa),将select * from abc 替换成select * from abc order by aa 该如何拼接

FineReport 吉吉煲 发布于 2023-10-24 10:51
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
Z4u3z1Lv6专家互助
发布于2023-10-24 10:54(编辑于 2023-10-24 11:00)

SELECT * FROM ABC WHERE 1=1 ${REPLACE(content,"abc"," abd order by aa")}

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

这种写法容易出现语法错误 比如content值是124abc346这种类型是sql 就变成了

SELECT * FROM ABC WHERE 1=1...... 124abc order by aa346

所以你的具体是啥场景请说明一下,或者参考楼下的直接拼接

最佳回答
1
ID1208Lv6高级互助
发布于2023-10-24 10:54(编辑于 2023-10-24 11:11)

可以实现,需要关掉SQL防注入,风险有点高,不建议

image.png

最佳回答
1
luojian0323Lv7资深互助
发布于2023-10-24 10:54

image.png

最佳回答
1
snrtuemcLv8专家互助
发布于2023-10-24 10:54

直接就拼接,不要替换

${CONCATENATE(content,"order by aa")}

  • 3关注人数
  • 432浏览人数
  • 最后回答于:2023-10-24 11:11
    请选择关闭问题的原因
    确定 取消
    返回顶部