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)
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统