我正在尝试按发票编号连接两个表中的数据,
LOC NOT NULL VARCHAR2(40)
INV_ORG NUMBER
像这样它工作正常:
SELECT oh.inv_org,e.loc
FROM headers oh, sites e
WHERE
AND e.location = TO_CHAR(oh.inv_org);
但是当我尝试将字符转换为数字时,我得到
ORA-01722: 无效号码
SELECT oh.inv_org, e.loc
FROM headers oh, sites e
WHERE
AND to_number(e.loc) = oh.inv_org;
我不知道为什么,因为在选择中,转换也可以正常工作
INV_ORG 110992
LOC 110992
OH.INV_ORG-TO_NUMBER(E.LOC) 0
最佳答案
检查您的数据,可能有 e.loc
中的值无法转换为数字。
顺便说一下,下面的 select 给出了 ORA-01722:SELECT to_number('test') FROM dual
关于sql - ORA-01722 : invalid number in to_number,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51925307/