【发布时间】:2021-11-05 06:32:16
【问题描述】:
我在 Apex 应用程序中有这个 sql 查询
select num_fac, id_fac
from fac
where id_fac in
(select result from (SELECT apex_string.split(id_facs,':') result
FROM proc
where id_contract=:p50_id_contract))
我的问题是数据类型不一样,因为 id_fac 是 INT,结果是 apex_200100.www_flow_t_varchar2 类型,每一行都是这样的
apex_200100.www_flow_t_varchar2('122')
apex_200100.www_flow_t_varchar2('123')
apex_200100.www_flow_t_varchar2('145')
apex_200100.www_flow_t_varchar2('13')
我尝试使用 SUBSTR 和 INSTR,但收到此消息错误
ora-00932 inconsistent datatypes expected char got apex_200100
有什么建议或解决方案吗?
【问题讨论】:
-
apex_string.split返回apex_t_varchar2,这是一个 varchar2 的表(根据其名称)。所以子查询的结果是一组行,其中每一行都包含一个 varchar2 的表。当然,您不能将此类类型与 int 进行比较。 -
@astentx,这里的解决方案是什么?
-
大家不要忘记 apex_string.split_numbers 是个东西docs.oracle.com/en/database/oracle/application-express/21.1/…
标签: sql oracle oracle-apex