【发布时间】:2016-01-15 19:32:35
【问题描述】:
我有两个查询在尝试将CHAR 转换为NUMBER 时给出错误ORA-01722: invalid number。
SELECT to_number('NYC TERM') FROM dual;
WITH
x AS (SELECT 'NYC TERM' AS col FROM dual
UNION
SELECT '33' FROM dual)
SELECT *
FROM X
ORDER BY to_number(col);
如果我删除 UNION 中的第二个 SELECT 查询工作正常。为什么它的行为不同?
问题是,当我作为一个整体运行查询返回其他行时会出错,但当我只针对具有此类数据的特定记录运行时,它会正常运行。
WITH
x AS (SELECT 'NYC TERM' AS col FROM dual)
SELECT * FROM X ORDER BY to_number(col);
【问题讨论】:
标签: sql oracle type-conversion ora-01722