Oracle number和INTEGER的奇怪现象

Normal 0 false false false EN-US ZH-CN X-NONENUMBER[ (p[,s]) ]

Number having precisionpand scales. The precisionpcan range from 1 to 38. The scalescan range from -84 to 127. Both precision and scale are in decimal digits. ANUMBERvalue requires from 1 to 22 bytes.

ASNI SQL DATA TYPE       ORACLE DATA TYPE

NUMERIC[(p,s)]

DECIMAL[(p,s)](Note 1)

NUMBER(p,s)

INTEGER

INT

SMALLINT

NUMBER(38)

FLOAT(Note 2)

DOUBLE PRECISION(Note 3)

REAL(Note 4)

FLOAT(126)

FLOAT(126)

FLOAT(

 

在使用ADO访问一个表时,有几个字段定义为NUMBERADO在向表插入数据时报错。

NUMBER类型改为INTEGER后或NUMBER(38)后错误消失。

比较好奇,认为NUMBER类型默认精度小于38,其实不然,NUMBER默认的精度可以支持到最大126。但是一直没有找到文档说明,纠结一下。


只是个现象。

请使用浏览器的分享功能分享到微信等