首页 > 代码库 > Oracle的Numer类型与C,C#数据类型对应关系
Oracle的Numer类型与C,C#数据类型对应关系
最近一直在编和Oracle数据库相关程序。
Oracle的Number类型和C语言,C#语言类型的对应关系,在网络上查找很久,也没有找到说明文字。
但在http://oracle.chinaitlab.com/induction/734741.html有《Oracle与DB2数据类型分类对应说明》,根据这篇文章,我总结了一下Oracle的Number类型和C语言,C#语言类型的对应关系。
NUMBER,是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。它的定义方式是NUMBER(P,S),P是精度,最大38位,S是刻度范围,可在-84...127间取值。例如:NUMBER(5,2)可以用来存储表示-999.99...999.99间的数值。P、S可以在定义是省略,例如:NUMBER(5)、NUMBER等;
首先,必须声明,Oracle的Number类型和C语言,C#语言类型的对应没办法做到完全的一对一,下面的表格只能作为大致的参考。
Oracle | DB2/400 | C | C# | C/C#数据范围 |
NUMBER | Float(n)/REAL/DOUBLE | double | double | 1.7E +/- 308 (15 digits) |
NUMBER(p) p<=4 | SAMLLINT DECIMAL(p) NUMBER(p) | short | Int16 | –32,768 to 32,767 NUMBER(5) |
NUMBER(p) 5<=p<=9 | INTEGER DECIMAL(p) NUMBER(p) | int | Int32 | –2,147,483,648 to 2,147,483,647 NUMBER(10) |
NUMBER(p) 10<=p<=19 | BIGINT DECIMAL(p) NUMBER(p) | __int64 | Int64 | –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 NUMBER(19) |
NUMBER(p,s) p=7 s=3 | Float(n) DECIMAL(p,s) NUMBER(p,s) | float | float | 3.4E +/- 38 (7 digits) |
NUMBER(p,s) p=15 s=5 | REAL DECIMAL(p,s) NUMBER(p,s) | double | double | 1.7E +/- 308 (15 digits) |
NUMBER(p,s) p=15 s=5 | DOUBLE DECIMAL(p,s) NUMBER(p,s) | double | double | 1.7E +/- 308 (15 digits)
|
Oracle的Numer类型与C,C#数据类型对应关系
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。