SQL Oracle中的数字(17,5)强制转换错误

SQL Oracle中的数字(17,5)强制转换错误,oracle,plsql,casting,numbers,Oracle,Plsql,Casting,Numbers,我正在使用Oracle SQL 这项工作: SELECT CAST(null as NUMBER(17)) AS COL1 FROM TABLE_A UNION ALL SELECT TABLE_B.COL1 AS COL1 FROM TABLE_B 但这并不是: SELECT CAST(null as NUMBER(17,5)) AS COL1 FROM TABLE_A UNION ALL SELECT TABLE_B.COL1 AS COL1 FROM TABLE_B 它抛出以下

我正在使用Oracle SQL

这项工作:

SELECT 
CAST(null as NUMBER(17)) AS COL1
FROM TABLE_A
UNION ALL
SELECT 
TABLE_B.COL1 AS COL1
FROM TABLE_B
但这并不是:

SELECT 
CAST(null as NUMBER(17,5)) AS COL1
FROM TABLE_A
UNION ALL
SELECT 
TABLE_B.COL1 AS COL1
FROM TABLE_B
它抛出以下错误:

Error(s) parsing SQL:
Unexpected token near *!* in the following:
CAST(null as NUMBER(17*!*,5)) AS COL1
我能不能转换成一个数字(17,5)

注意:COL1的类型是数字(17,5)

1),但是什么阻止了你这样写:

SELECT 
TABLE_B.COL1 AS COL1
FROM TABLE_B
UNION ALL
SELECT 
CAST(null as NUMBER(17)) AS COL1
FROM TABLE_A
(二)

分析SQL时出错:附近出现意外令牌!在以下方面:

这不是Oracle的错误

(三)


在我的环境中工作正常

相关内容:我两端都为空您解决了我的问题。。。看起来这是SQL开发人员的问题,与Oracle无关
SELECT 
CAST(null as NUMBER(17,5)) AS COL1
FROM dual;