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
相关推荐
paopaokaka_luck10 分钟前
智能推荐社交分享小程序(websocket即时通讯、协同过滤算法、时间衰减因子模型、热度得分算法)
数据库·vue.js·spring boot·后端·websocket·小程序
程序员NEO26 分钟前
Spring AI 对话记忆大揭秘:服务器重启,聊天记录不再丢失!
人工智能·后端
用户214118326360226 分钟前
惊爆!国内轻松白嫖 Claude Code,编程效率狂飙
后端
iccb101332 分钟前
我是如何实现在线客服系统的极致稳定性与安全性的
前端·javascript·后端
M1A138 分钟前
Java 面试系列第一弹:基础问题大盘点
java·后端·mysql
夕颜1111 小时前
关于 Cursor 小插曲记录
后端
考虑考虑1 小时前
go中的Map
后端·程序员·go
邓不利东2 小时前
Spring中过滤器和拦截器的区别及具体实现
java·后端·spring
头发那是一根不剩了2 小时前
Spring Boot 多数据源切换:AbstractRoutingDataSource
数据库·spring boot·后端