Oracle的Numer类型与C,C#数据类型对应关系

本文探讨了Oracle数据库中Number类型的特性及其与C语言和C#语言类型的对应关系。提供了不同精度和刻度下Number类型与C/C#中基本数值类型如short、int、long等的映射表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一直在编和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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值