将值传递给sql查询中的函数

时间:2013-10-30 11:24:03

标签: sql oracle

考虑以下情况:

SELECT TestPkg.getData(123) FROM dual;

返回正确的结果,但

SELECT TestPkg.getData(SELECT TO_NUMBER('123') FROM dual) FROM dual;

错误表达错误,为什么会这样?如何解决我们将值传递给依赖于查询值的函数的情况。

2 个答案:

答案 0 :(得分:4)

要评估选择结果,您需要括号:

SELECT TestPkg.getData( (SELECT TO_NUMBER('123') FROM dual) ) FROM dual;

一对用于函数调用,一个用于评估选择结果。

答案 1 :(得分:1)

我认为你需要:

SELECT TestPkg.getData(TO_NUMBER('123')) FROM dual;