如何在 Oracle 中的 where 子句中使用用户定义的函数?

How to use a user defined function in where clause in Oracle?

我想做这样的事情:

SELECT subscription from TENANT where tenant_id = (select GET_TENANTID(12345) as tenant_id from DUAL);

这里,GET_TENANTID是一个用户定义的函数。 此外,tenant_id 字段是 varchar2 类型的列。

我在使用 Oracle 12c。

您的代码应该可以工作,但为什么不这样做:

select subscription
from TENANT
where tenant_id = GET_TENANTID(12345);

假设类型相同。如果它们不相同,则将数字转换为字符串。