Oracle10g数据类型
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。 |
- TO_DATE()、DATE使用的时间字段值都是午夜值。或者使用TRUNC()函数进行过滤,确保时间字段为午夜值。
- 时间和时间间隔类型操作规则:
在DATE和TIMESTAMP(会被转化为DATE类型值)类型上加、减NUMBER类型常量,该常量单位为天数。
所有TIMESTAMP类型运算都以UTC时间为准。即对于TIMESTAMP WITH LOCAL TIME ZONE来说,先转化为UTC时间,计算完成后再转化回来。
- 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)。
- 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地址指向文件系统上的一个二进制文件,维护目录和文件名。不参与事务处理。只支持只读操作。 |
- LOB列包含一个LOB地址,指向数据库内或者数据库外的LOB类型值。
5. 其他类型
数据类型 |
长度 |
说明 |
LONG |
最大为2GB |
变长类型,存储字符串。创建表时不要使用该类型。 |
RAW(n) |
最大2000字节,n为字节数,必须指定n |
变长类型,字符集发生变化时不会改变值。 |
LONG RAW |
最大为2GB |
变长类型,不建议使用,建议转化为BLOB类型,字符集发生变化时不会改变值。 |
ROWID |
10字节 |
代表记录的地址。显示为18位的字符串。用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。 |
UROWID(n) |
- ROWID:数据对象编号32位(6个字符)、文件编号10位(3个字符)、块编号22位(6个字符)、行编号16位(3个字符)
- 使用dqms_rowid包获得ROWID信息:
Oracle10g数据类型的更多相关文章
- oracle PL/SQL语法基础
目录 数据类型 定义变量 PL/SQL控制结构 参考资料 Oracle10g数据类型总结 PL/SQL之基础篇 数据类型 学习总结 字符类型 char.nchar.varchar.nvarchar:有 ...
- oracle数据类型
本文转自:http://blog.csdn.net/defonds/article/details/4302695 谢谢原文作者 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维 ...
- [转]oracle数据类型和对应的java类型
地址: http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.htm ...
- oracle10g获得Date类型字段无分,秒的解决方案!
一般的数据库中,DATE字段只表示日期,不包含日期信息,而Oracle数据库中的DATE数据类型是包含日期.时间的,对于不同的Oracle jdbc驱动版本号.对于该问题的处理都有些差别. 近期使用 ...
- (转)mybatis常用jdbcType数据类型
1 MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR TIMESTAMP OTHER UNDEFINED TINYINT REAL VARCHAR BINARY BLOB ...
- oracle中数据类型对应java类型
地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/doc_cd/Java.102/B19275-03/datacc.htm ...
- 【转帖】oracle数据类型和对应的java类型
原文地址:http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-03/datacc.ht ...
- mysql 和 Oracle 数据类型对照
MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据 ...
- 转oracle 学习- 数据类型
oracle数据类型 有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维护大有裨益.个人总结了一些Oracle数据类型集解,相信读者阅读了本文以后,Oracle数据库开发起来会事半 ...
随机推荐
- 浏览器检测(BrowserDetect.js)
浏览器检测是在工作中经常用到的,如果只是简单判断当前是什么浏览器的话可以通过window.navigator.useragent这样的js来直接判断就可以了! 但是针对浏览器版本要求比较高的时候,如果 ...
- php eval函数用法总结
可以在php.ini禁止此函数,结果失败了 eval定义和用法 eval() 函数把字符串按照 PHP 代码来计算. 该字符串必须是合法的 PHP 代码,且必须以分号结尾. 如果没有在代码字符串 ...
- oracle服务介绍
按照windows 7 64位 安装oracle 11g R2中的方法成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为: 1. Oracle ORCL VSS Writer Ser ...
- 关于vs2013 mysql Ef框架中提示版本不兼容问题的解决办法
<runtime> <assemblyBinding> <dependentAssembly> <assemblyIden ...
- poj 1830 开关问题
开关问题 题意:给n(0 < n < 29)开关的初始和最终状态(01表示),以及开关之间的关联关系(关联关系是单向的输入a b表示a->b),问有几种方式得到最终的状态.否则输出字 ...
- BZOJ 1507 [NOI2003]Editor
Description Input 输 入文件editor.in的第一行是指令条数t,以下是需要执行的t个操作.其中: 为了使输入文件便于阅读,Insert操作的字符串中可能会插入一些回车符,请忽略掉 ...
- Python爬取17吉他网吉他谱
最近学习吉他,一张一张保存吉他谱太麻烦,写个小程序下载吉他谱. 安装 BeautifulSoup,BeautifulSoup是一个解析HTML的库.pip install BeautifulSoup4 ...
- SQL2008附加数据库提示错误:5120
前几天在附加数据库时,出现了这个错误 在win7 x64系统上使用sql2008进行附加数据库(包括在x86系统正在使用的数据库文件,直接拷贝附加在X64系统中)时,提示无法打开文 ...
- ubuntu terminal 介绍及相关命令
ubuntu的terminal 1.调出方法 windows键+T 2.终端显示内容 3. 查看当前所在目录的绝对路径--pwd命令 eg1: eg2: linux严格区分大小写 4. 更改/进入目录 ...
- WordPress 前端用户投稿插件 Frontend Publishing
WordPress添加投稿功能(无需注册/可邮件通知站长和投稿人) WordPress匿名投稿插件:DX-Contribute (有朋友反馈不能用) WordPress投稿插件:User Submit ...