You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle表函数的IN参数中传递带WHERE子句的查询语句

Oracle表函数传递含单引号的查询语句的正确写法

在Oracle中,直接向表函数传递带单引号的SQL语句会触发语法错误——Oracle会把第一个单引号当作字符串的结束标记,后续的单引号会被判定为无效语法。

解决方法是将查询语句里的单个单引号替换为两个连续的单引号,以此完成单引号的转义。

正确的调用示例:

select column_value from table (my_table_fn('select col from tbl where col = ''aaa'' '))

Oracle的字符串解析规则是:两个连续的单引号会被解析成一个实际的单引号,这样传递的参数最终会被表函数正确识别为select col from tbl where col = 'aaa'。

内容的提问来源于stack exchange,提问作者Pato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 13:40:54