Oracle 数据类型

基础数据类型

字符类型

按照存贮空间分为固定长度类型(char)可变数据类型(varchar2/nvachar2)两种

char

定长类型,会用空格填充来达到最大长度

非Null的char(12)总是包含12字节信息

char字段最多可存储2000字节信息,如果创建表时,不指定char长度,默认为1

varchar2

变长字符串,与char类型不同,他不会使用空格填充至最大长度

最多可存储4000字节的信息

nvarchar2

这是一个包含unicode格式数据的变长字符串

最多可存储4000字节的信息

西文、数字:一个字节

汉字:三个字节

数字类型

number类型

既可以表示数字类型,也可以表示浮点类型

number(p,s) 是最常见的数字类型

p : 是precison的缩写,表示有效数字的位数,最多不超过38个有效数字

s : 是sacle的英文缩写,表示小数点数字的位数

只写number:表示就是一个整数

number(20,2):表示整数位的位数为20,小数点后的位数精确到2位

integer类型

是number的子类型,等同于number(38,0),用来存储整数

若插入、更新的数值中有小数,则会被四舍五入

日期类型

DATE

最常用的数据类型,存储日期和时间信息,虽然可以用字符串或者数字类型来表示日期和时间信息,但是日期数据具有特殊关联的属性。

一般占有7个字节的存储空间。

TimsStamp

这是一个7字节或者12字节的定宽时间数据类型,它与DATA数据类型不同,因为可以包含小数秒,带小数秒的TimeStamp在小数点右边最多可以保留9位

TimeStamp with time zone

这是timeStamp类型的变种,它包含了时区偏移量的值。

TimeStamp witth local time zone

将时间数据以数据库时区进行规划后进行存储

Lob类型

CLOB类型(charachter large object)

二进制数据,存储单个字节和多个字节字符数据,最大长度4g

BLOB类型(Binary Larage Object)

存储非结构化的二进制数据最大对象,它可以被认为是没有字符集语意的比特流,

一般是图像、声音、视频等文件,最大长度是4g

NLLOG类型

存储unicode类型是数据,最大长度是4G

Long & Raw & Long Raw 类型

Long

它存储变长字符串(超长字符串),最多达2G的字符数据

(2GB 是指2千兆字节,而不是2千兆字符)

Long Raw

能存储2GB的二进制数据,可以存放多媒体、图像、声音

Raw类型

用于存储二进制或字符类型数据,必须指定长度;

这种数据类型存储的数据不会发生字符集转换;

可以存放多媒体、图像、声音等。

附:.NET 类型转化对应表

序号 Oracle数据类型 .NET类型 GetOracleValue类型 DbType OracleType
1 BFILE byte[] OracleBFile BFile
2 BLOB byte[] OracleLob Blob
3 CHAR string OracleString AnsiStringFixedLength Char
4 CLOB string OracleLob Clob
5 DATE DateTime OracleDateTime DateTime DateTime
6 FLOAT Decimal OracleNumber Single、Double、Decimal Float、Double、Number
7 INTEGER Decimal OracleNumber SByte、Int16、Int32、Int64、Decimal SByte、Int16、Int32、Number
8 INTERVAL YEAR TO ​MONTH Int32 OracleMonthSpan Int32 IntervalYearToMonth
9 INTERVAL DAY TO ​SECOND TimeSpan OracleTimeSpan Object IntervalDayToSecond
10 LONG string OracleString AnsiString LongVarChar
11 LONG RAW byte[] OracleBinary Binary LongRaw
12 NCHAR string OracleString StringFixedLength NChar
13 NCLOB string OracleLob NClob
14 NUMBER Decimal OracleNumber VarNumeric Number
15 NVARCHAR2 string OracleString String NVarChar
16 RAW byte[] OracleBinary Binary RAW
17 ROWID string OracleString AnsiString Rowid
18 TIMESTAMP DateTime OracleDateTime DateTime Timestamp
19 VARCHAR2 string OracleString AnsiString VarChar
相关推荐
、BeYourself3 分钟前
SpringAI-ChatClient Fluent API 详解
java·后端·springai
BD_Marathon11 分钟前
SpringBoot快速入门
java·spring boot·后端
本当迷ya1 小时前
SpringBoot 接入飞书多维表格,快速跑通MVP应用
后端
挖土机_0081 小时前
AI 是否真的能完全替代程序员?从我试用 AI 开发到前后端架构与页面开发的真实分析
后端·ai编程
chenyuhao20241 小时前
Linux网络编程:HTTP协议
linux·服务器·网络·c++·后端·http·https
Java中文社群2 小时前
避坑指南!别再被N8N循环节点“调戏”了!为什么你的Done分支执行了多次?
人工智能·后端
superman超哥2 小时前
仓颉元编程进阶:编译期计算能力的原理与深度实践
开发语言·后端·仓颉编程语言·仓颉·仓颉语言·仓颉元编程·编译器计算能力
凌览2 小时前
2025年,我和AI合伙开发了四款小工具
前端·javascript·后端
乘风破浪酱524362 小时前
记一次微信小程序登录异常排查:从UnknownHostException到DNS解析失败
后端