我有一个错误 ora-01722:无效号码。尝试了to_char,强制转换函数,没有任何帮助。我有以下 SQL,其中 PERSON_DOCS 和 PERSON_DOCS_NEW 是视图,字段 DOCTYPENAME 是使用视图内的子选择计算的,类型为 varchar2(70),并且对于两个视图中的所有行都为空。
select count(1) from
(select DOCTYPENAME
from PERSON_DOCS
minus
select DOCTYPENAME
from PERSON_DOCS_NEW)
目前的观点是相同的:
CREATE OR REPLACE VIEW PERSON_DOCS AS
select
...,
(select lr.ll_remark
from table1 ln,
table2 lv,
table3 lr
where ln.short_name = 'DOC.TYPE'
and ln.table_no = lv.table_no
and lv.table_no = lr.table_no
and lv.vetting_table = c.doc_type) as DOCTYPENAME,
...
from table0 c
尝试了 to_char,在视图内的子选择上强制转换函数,没有帮助。
Table3 DDL语句,取值来自:
CREATE TABLE table3
(TABLE_NO VARCHAR2(35 BYTE),
LL_REMARK VARCHAR2(70 BYTE)
) ;
CREATE TABLE table1
(TABLE_NO VARCHAR2(35 BYTE),
SHORT_NAME VARCHAR2(15 BYTE)
);
CREATE TABLE table2
(TABLE_NO VARCHAR2(35 BYTE),
VETTING_TABLE VARCHAR2(35 BYTE),
APPLICATION VARCHAR2(40 BYTE)
);
CREATE TABLE table0
(CUSTOMER_CODE VARCHAR2(10 BYTE),
DOC_TYPE NUMBER
);