当前位置: 首页 > news >正文

【Oracle】Oracle数据库中的数据类型

目录

  • 数值类型
  • 字符类型
    • CHAR(size):定长字符数据。
    • VARCHAR2(size):可变长字符数据
    • LONG:可变长字符数据,最大可达到 2G
    • NCHAR [( size )] 类型
    • NVARCHAR2( size )
  • LOB类型(二进制类型)
    • CLOB:字符数据+
    • BLOB:二进制数据
    • BFILE:二进制数据
  • 二进制类型
    • ROW ( size )
    • LONG ROW
    • 补充
  • 日期时间类型
    • DATE:日期型数据
    • TIMESTAMPL ( p ):时间戳
    • DATETIME 和 TIMESTAMP 区别?
  • 行类型
    • ROWID

数值类型

  • NUMBER(pL,s):数值类型

    • pL:指定数字的总位数
    • s:指定数字小数点后的位数
  • 可以存储0、正数和负数,数值的绝对值为10-o~10。

  • NUMBER 类型数据占用1~22B的存储空间。

  • p 表示数值的总位数(精度),默认值为38;

  • s 表示刻度,取值为一84~127, s 为正数时表示保留小数的位数, s 为负数时表示对小数点左侧 s 位进行舍人,默认值为0。

例如:

  • NUMBER(5),最大可存储的数值为 99999。
  • NUMBER(5,2),最大可存储的数值为 999.99。
  • NUMBER(18) ,默认长度 18 位

字符类型

CHAR(size):定长字符数据。

  • size:指定字符串的最大长度(必须是正整数,且不超过 32767)。
  • 用于存储固定长度的字符串。参数 size 规定了字符串的最大长度,可选关键字 BYTE 或 CHAR 表示其长度单位是字节或字符,默认值为1B,允许最大长度为2000B。
  • 如果 CHAR 类型的列中实际保存的字符串长度小于指定的 size 大小, Oracle 将自动使用空格填满。

VARCHAR2(size):可变长字符数据

  • size:指定字符串的最大长度(必须是正整数,且不超过 32767)。
  • 用于存储可变长度的字符串。
  • 参数size 规定了字符串的最大长度,可选关键字 BYTE 或 CHAR 表示其长度单位是字节或字符,默认单位为 BYTE ,允许字符串的最大长度为4000B。
  • 与 CHAR 类型不同,当VARCHAR2类型的列中实际保存的字符串长度小于 size 时,将按字符串实际长度分配空间。

LONG:可变长字符数据,最大可达到 2G

  • 大文本类型,用于存储变长字符串,最大长度为2GB。这是为了与早期版本兼容而保留的字符类型。
  • 在其它的数据库系统中常被称为 备注类型
  • 它主要用于存储大量的可以在稍后返回的文本内容

NCHAR [( size )] 类型

  • 用于存储多字节编码( UNICODE )的定长字符串。
  • 参数 size 指定了字符串的最大字符数。
  • 如果字符采用AL16UTF16编码,存储容量可以提高2倍,
  • 如果采用UTF8编码,存储容量可以提高3倍。
  • size 的取值最大为2000B,默认为1。

NVARCHAR2( size )

  • 用于存储多字节编码( UNIcoDE )的变长字符串。
  • 参数 size 指定了学符串的最大字符数,最大为4000B。

LOB类型(二进制类型)

CLOB:字符数据+

  • 存储字符,最大可以存4G
  • 用于存储单字节或多字节的大型字符串对象,支持使用数据库字符集的定长或变长字符。
  • 在 Oracle 12c中 CLOB 类型最大存储容量为128TB。

BLOB:二进制数据

  • 存储图像、声音、视频等二进制数据,最大可存4G
  • 用于存储大型的、未被结构化的变长的二进制数据,如二进制文件、图片文件、音频和视频等非文本文件。
  • 在 Oracle 12c中 BLOB 类型最大存储容量为128TB。

BFILE:二进制数据

  • 用于存储指向二进制格式文件的定位器,该二进制文件保存在数据库外部的操作系统中。
  • 在 Oracle 12c中 BFILE 文件最大容量为128TB,不能通过数据库操作修改 BFILE 定位器所指向的文件。

二进制类型

ROW ( size )

  • 用于存储变长的二进制数据, size 表示数据长度,取值范围为1~2000B。

LONG ROW

  • 用于存储变长的二进制数据,最大存储数据量为2GB。
  • Oracle 建议使用 BLOB 类型代替 LONG RAW 类型。

补充

  1. LONG RAW 数据类型在其它数据库系统中,常被称为 大二进制类型(BLOB) ,它可以用来存储 图形、声音视频数据。
  2. 尽管关系型 数据库 管理系统最初不是为它们而设计的,但是多媒体数据可以存储在 BLOB 或 LONG RAW 类型的字段内。

日期时间类型

DATE:日期型数据

  • 用于定义日期时间类型的数据。
  • 其数据长度为固定 7 个字节,分别描述:年、月、日、时、分、秒
  • 日期时间型,精确到秒。用于存储日期和时间。
  • 可以存储的日期范围为公元前4712年1月1日到公元后9999年12月31日,占据7B的空间,由世纪、年、月、日、时、分、秒组成。

TIMESTAMPL ( p ):时间戳

  • 还可以 显示时间 和 上下午标记。
  • 如:11-9月-2007 11:09:32.213 AM
  • 精确到秒的小数点后9位。
  • 表示时间戳,是 DATE 数据类型的扩展,允许存储小数形式的秒值。
  • p 表示秒的小数位数,取值范围为0~9,默认值为6。
  • 根据 p 值的设置不同, TIMESTAMP 类型数据占据7~11B空间,由世纪、年、月、日、时、分、秒组成,如30-MAY-1207.56.07.544000PM。

DATETIME 和 TIMESTAMP 区别?

  1. 都是既有 日期 又有 时间 的日期类型
  2. DATETIME 需要使用外部传入的日期,如果没传这个值就是 NULL
  3. TIMESTAMP 会使用 系统当前的时间 作为这个值的 默认值

行类型

ROWID

  • 行标识符,表示表中行的物理地址的伪劣类型。
  • ROWID 类型数据由18位十六进制数构成
    • 其中1-6位表示对象编号,
    • 7-8位表示文件编号,
    • 9-15位表示数据块编号,
    • 16-18位表示数据块内编号。
  • 十六进制串,表示行在所在的表中唯一的行地址
  • 该数据类型主要用于返回 ROWID 伪列,常用在可以将表中的每一条记录都加以唯一标识的场合

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • LabVIEW自动测控与故障识别系统
  • 基于 KV Cache 实现流式 Self-Attention 序列解码
  • 镍氢电池性能不减,你敢信?
  • 前端发布项目后,解决缓存的老版本文件问题
  • MFC常见问题解决
  • 3个方法教你如果快速绕过Excel工作表保护密码
  • 【ARM 常见汇编指令学习 7.1 -- LDRH 半字读取指令】
  • 时间处理的未来:Java 8全新日期与时间API完全解析
  • 串口工具推荐
  • stm32按键设置闹钟数进退位不正常?如何解决
  • 图文讲解IDEA如何导入JDBC驱动包
  • 【效率提升】多功能组织和整理软件一Notion
  • 【算法:贪心】:贪心算法介绍+基础题(四个步骤);柠檬水找零(交换论证法)
  • 第一个vue——01
  • Flutter——最详细(Table)网格、表格组件使用教程
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • const let
  • C语言笔记(第一章:C语言编程)
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Java IO学习笔记一
  • Java面向对象及其三大特征
  • js写一个简单的选项卡
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 聊聊redis的数据结构的应用
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 时间复杂度与空间复杂度分析
  • 我的业余项目总结
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • C# - 为值类型重定义相等性
  • NLPIR智能语义技术让大数据挖掘更简单
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​马来语翻译中文去哪比较好?
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • #DBA杂记1
  • #QT项目实战(天气预报)
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (NSDate) 时间 (time )比较
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (三)Kafka离线安装 - ZooKeeper开机自启
  • (四)软件性能测试
  • (一)Linux+Windows下安装ffmpeg
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .cfg\.dat\.mak(持续补充)
  • .NET Core 版本不支持的问题
  • .NET Core 通过 Ef Core 操作 Mysql
  • .Net mvc总结