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数据库开发起来会事半 ...
随机推荐
- VS2013中Django流水账笔记--配置环境
一.开发环境 Win7 64位搭建开发环境.需要准备VS2013.Python34.PTVS2013. 1.http://pytools.codeplex.com/ 下载工具,下载之后进行安装即可,我 ...
- Java 内存区域
Java虚拟机锁管理的内存包括以下几个运行时数据区域: 1.程序计数器: 程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器.在虚拟机的概念模型里,字节码解释器工作时 ...
- IQKeyboredManager使用
这个库是一个单例,它一旦生效,全项目任何界面都有效.让它生效的代码可以写在任意位置,我写在AppDelegate里. 1 2 3 4 5 6 7 8 9 10 - (BOOL)application: ...
- javascript高级编程笔记03(正则表达式)
引用类型 检测数组 注:我们实际开发中经常遇到要把数组转化成以逗号隔开,我以前都是join来实现,其实又更简单的方法可以用toString方法,它会自动用逗号隔开转换成字符串,其实toString内部 ...
- javascript高级编程笔记02(基本概念)
ParseInt()函数: 由于Number函数在转换字符串时比较复杂而且不合理,我们常常转换字符串都用parseInt函数, Parseint函数规则: 忽略字符串前面的空格,直到找到第一个非空格字 ...
- [转载]C#读写配置文件(XML文件)
.xml文件格式如下 [xhtml] view plaincopy <?xml version="1.0" encoding="utf-8"?> & ...
- 解决win8找不到没有AppData文件夹
现象:今天打开win8,由于是从xp直接过渡到win8,所以想寻找类似于AppData的文件夹.但是在user/用户名/下面木有. 解决:这是个隐藏文件,和xp一样,取消隐藏文件夹即可看到. 然后就可 ...
- Python中通过Image的open之后,去show结果打不开bmp图片,无法正常显示图片
在windows的cmd命令行下,使用Python的PIL库打开并显示一个jpg图片: ? 1 2 3 openedImg = Image.open(saveToFile); print " ...
- 关于SQL语句中SUM函数返回NULL的解决办法
SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ...
- 如何将CELERY放到后台执行?
在作正式环境,这个是必须的. 于是找了两小时文档, 以下这个方法,相对来说好实现. 就是要注意supervisord.conf的目录存放位置. 放在DJANGO的PROJ目录下,是最佳位置. http ...