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
相关推荐
用户4099322502122 分钟前
FastAPI数据库连接池配置与监控
后端·ai编程·trae
嘻嘻嘻嘻嘻嘻ys4 分钟前
《Spring Boot 3响应式架构实战:R2DBC驱动的高并发数据持久化革命》
前端·后端
小镇cxy5 分钟前
Java开发,实践MCP
后端
木昜先生7 分钟前
知识点:深入理解 JVM 内存管理与垃圾回收
java·jvm·后端
115432031q11 分钟前
基于SpringBoot+Vue实现的旅游景点预约平台功能十三
java·前端·后端
Java门外汉22 分钟前
在SpringBoot中,@GetMapper和@RequestMapping有什么区别?
后端
vocal23 分钟前
谷歌第七版Prompt Engineering—第二部分
人工智能·后端
Hellohistory25 分钟前
HOTP 算法与实现解析
后端·python
半个脑袋儿26 分钟前
Java日期格式化中的“YYYY”陷阱:为什么跨年周会让你的年份突然+1?
java·后端
杰瑞达Bob28 分钟前
day1 继承、权限修饰符、重写、抽象
后端