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

【转载】Oracle10g数据类型总结

原文:http://www.cnblogs.com/yshb/archive/2012/06/19/2554279.html

 


1.     字符类型

数据类型

长度

说明

CHAR(n BYTE/CHAR)

默认1字节,n值最大为2000

末尾填充空格以达到指定长度,超过最大长度报错。默认指定长度为字节数,字符长度可以从1字节到四字节。

NCHAR(n)

默认1字符,最大存储内容2000字节

末尾填充空格以达到指定长度,n为Unicode字符数。默认为1字节。

NVARCHAR2(n)

最大长度必须指定,最大存储内容4000字节

变长类型。n为Unicode字符数

VARCHAR2(n BYTE/CHAR)

最大长度必须指定,至少为1字节或者1字符,n值最大为4000

变长类型。超过最大长度报错。默认存储的是长度为0的字符串。

VARCHAR

同VARCHAR2

不建议使用

 

2.     数字类型

数据类型

长度

说明

NUMBER(p[,s])

1-22字节。

P取值范围1到38

S取值范围-84到127

存储定点数,值的绝对值范围为1.0 x 10 -130至1.0 x 10 126。值大于等于1.0 x 10 126时报错。p为有意义的10进制位数,正值s为小数位数,负值s表示四舍五入到小数点左部多少位。

BINARY_FLOAT

5字节,其中有一长度字节。

32位单精度浮点数类型。

符号位1位,指数位8位,尾数位23位。

BINARY_DOUBLE

9字节,其中有一长度字节。

64位双精度浮点数类型。

3.     时间、时间间隔类型

时间字段可取值范围:

时间字段

时间类型有效值

时间间隔类型有效值

YEAR

-4712至9999,包括0

任何整数

MONTH

01至12

0至11

DAY

01至31

任何整数

HOUR

00 至 23

0 至 23

MINUTE

00 至 59

0至 59

SECOND

00 to 59.9(n),9(n)不适用与DATE类型

0 to 59.9(n)

TIMEZONE_HOUR

-1至14,不适用与DATE和TIMESTAMP类型

不可用

TIMEZONE_MINUTE

00至59,不适用与DATE和TIMESTAMP类型

不可用

TIMEZONE_REGION

 

不可用

TIMEZONE_ABBR

 

不可用

 

时间、时间间隔类型:

数据类型

长度

说明

DATE

7字节

默认值为SYSDATE的年、月,日为01。包含一个时间字段,若插入值没有时间字段,则默认值为:00:00:00 or 12:00:00 for 24-hour and 12-hour clock time。没有分秒和时间区。

TIMESTAMP [(fractional_seconds_precision)]

7至11字节

fractional_seconds_precision为Oracle存储秒值小数部分位数,默认为6,可选值为0到9。没有时间区。

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

13字节

使用UTC,包含字段YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, TIMEZONE_

HOUR, TIMEZONE_MINUTE

TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE

7至11字节

存时使用数据库时区,取时使用回话的时区。

INTERVAL YEAR [(year_precision)] TO MONTH

5字节

包含年、月的时间间隔类型。year_precision是年字段的数字位数,默认为2,可取0至9。

INTERVAL DAY [(day_precision)]

TO SECOND [(fractional_seconds_precision)]

11字节

day_precision是月份字段的数字位数,默认为2,可取0至9。

  1. TO_DATE()、DATE使用的时间字段值都是午夜值。或者使用TRUNC()函数进行过滤,确保时间字段为午夜值。
  2. 时间和时间间隔类型操作规则:

在DATE和TIMESTAMP(会被转化为DATE类型值)类型上加、减NUMBER类型常量,该常量单位为天数。

所有TIMESTAMP类型运算都以UTC时间为准。即对于TIMESTAMP WITH LOCAL TIME ZONE来说,先转化为UTC时间,计算完成后再转化回来。

  1. INTERVAL YEAR TO MONTH常量:

INTERVAL‘year-month’YEAR/MONTH(precision) TO MONTH

year位数超过precision时,返回一个错误。

其中precision为最大的位数,默认为2,可取0到9。

例子:INTERVAL '123-2' YEAR(3) TO MONTH 、

INTERVAL '123' YEAR(3) 、

INTERVAL '300' MONTH(3)。

  1. INTERVAL DAY TO SECOND常量:

INTERVAL ‘n/time_expr/n time_expr’ DAY/HOUR/MINUTE(leading_precision)  TO  HOUR/MINUTE/SECOND(fractional_second_precision)

INTERVAL ‘n/time_expr’ SECOND(leading_precision, fractional_second_precision) 

time_expr格式:HH[:MI[:SS[.n]]] or MI[:SS[.n]] or SS[.n] 若n大于分秒精度,则四舍五入n。

只有当第一个字段是DAY时,才可以使用n time_expr。

leading_precision默认为2,可取0至9。

4.     大对象类型

数据类型

长度

说明

BLOB

最大为(4GB-1)*数据库块大小

存储非结构化二进制文件。支持事务处理。

CLOB

最大为(4GB-1)*数据库块大小

存储单字节或者多字节字符数据。支持事务处理。

NCLOB

最大为(4GB-1)*数据库块大小

存储Unicode数据。支持事务处理。

BFILE

最大为2 32-1字节

LOB地址指向文件系统上的一个二进制文件,维护目录和文件名。不参与事务处理。只支持只读操作。

 

  1. LOB列包含一个LOB地址,指向数据库内或者数据库外的LOB类型值。

5.     其他类型

数据类型

长度

说明

LONG

最大为2GB

变长类型,存储字符串。创建表时不要使用该类型。

RAW(n)

最大2000字节,n为字节数,必须指定n

变长类型,字符集发生变化时不会改变值。

LONG RAW

最大为2GB

变长类型,不建议使用,建议转化为BLOB类型,字符集发生变化时不会改变值。

ROWID

10字节

代表记录的地址。显示为18位的字符串。用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。

UROWID(n)

 

 

  1. ROWID:数据对象编号32位(6个字符)、文件编号10位(3个字符)、块编号22位(6个字符)、行编号16位(3个字符)
  2. 使用dqms_rowid包获得ROWID信息:

select dbms_rowid.rowid_object(rowid) object_id,                dbms_rowid.rowid_relative_fno(rowid) file_id,                                                                   dbms_rowid.rowid_block_number(rowid) block_id,                                                                  dbms_rowid.rowid_row_number(rowid) num                                                                          from dept;


posted on 2012-06-19 09:15 淩風 阅读(820) 评论(1) 编辑 收藏

相关文章:

  • spark-submit工具参数说明
  • JS调用PageMethods
  • String与string的区别(注意大小写)
  • javascript-按圆形排列DIV元素(二)---- 运动
  • LoadRunner之自定义HTTP请求
  • Shell脚本之sed篇
  • DFS建立之之FRSM磁盘配额与文件过滤
  • JavaScript文本框统计字数
  • 脚本编程基础知识点总结
  • LoadRunner检查点
  • 05-Windows Server 2012 新特性 ---- 集成的ISCSI网络存储
  • 观察坐标系
  • Windows程序员需要学什么
  • 统计难题(trie树)
  • 爱上MVC3系列~Razor页面中的共享namespace不起作用了(解决自定义扩展方法不能识别的问题)...
  • golang中接口赋值与方法集
  • Java基本数据类型之Number
  • Joomla 2.x, 3.x useful code cheatsheet
  • PaddlePaddle-GitHub的正确打开姿势
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 关于List、List?、ListObject的区别
  • 坑!为什么View.startAnimation不起作用?
  • 深度学习入门:10门免费线上课程推荐
  • 试着探索高并发下的系统架构面貌
  • 详解NodeJs流之一
  • 带你开发类似Pokemon Go的AR游戏
  • ​Linux·i2c驱动架构​
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1)常见O(n^2)排序算法解析
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转载)Google Chrome调试JS
  • .a文件和.so文件
  • .chm格式文件如何阅读
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NetCore 如何动态路由
  • .NET开发不可不知、不可不用的辅助类(一)
  • .NET企业级应用架构设计系列之技术选型
  • // an array of int
  • [14]内置对象
  • [android] 切换界面的通用处理
  • [C++进阶篇]STL中vector的使用
  • [C语言]——分支和循环(4)
  • [Dxperience.8.*]报表预览控件PrintControl设置
  • [Flutter]打包IPA
  • [IE编程] IE8的SDK 下载
  • [IE技巧] IE 中打开Office文件的设置
  • [Operating System] {ud923} P4L4: Datacenter Technologies
  • [PAT练级笔记] 34 Basic Level 1034 有理数四则运算