我正在尝试按发票编号连接两个表中的数据,
LOC NOT NULL VARCHAR2(40)
INV_ORG NUMBER
Run Code Online (Sandbox Code Playgroud)
像这样它工作正常:
SELECT oh.inv_org,e.loc
FROM headers oh, sites e
WHERE
AND e.location = TO_CHAR(oh.inv_org);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将字符转换为数字时,我得到 ORA-01722: invalid number
SELECT oh.inv_org, e.loc
FROM headers oh, sites e
WHERE
AND to_number(e.loc) = oh.inv_org;
Run Code Online (Sandbox Code Playgroud)
错误报告
ORA-01722: 无效号码
我不知道为什么,因为在选择中,转换也可以正常工作
INV_ORG 110992
LOC 110992
OH.INV_ORG-TO_NUMBER(E.LOC) 0
Run Code Online (Sandbox Code Playgroud)