oracle数据库基础知识 oracle数据库类型的文件( 二 )


1)DATE
DATE是最常用的数据类型,日期数据类型存储日期和时间信息 。虽然可以用字符或数字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性 。为每个日期值,Oracle 存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒 。一般占用7个字节的存储空间 。
2)TIMESTAMP
这是一个7字节或12字节的定宽日期/时间数据类型 。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位 。
3)INTERVAL YEAR TO MOTH
用来存储单位为年和月的时间间隔 。
4)INTERVAL DAY TO SECOND
用来存储单位为天和秒的时间间隔 。
GBase 8s对Oracle日期类型全部可以兼容,但要说明的是,Oracle中的date对应GBase 8s中的datetime year to second,GBase 8s中的date默认仅支持年月日,不支持时分秒,而Oracle中timestamp(p)则对应GBase 8s中的datetime year to fraction(min(5,p)),最多保留小数点后5位 。
GBase 8s中验证如下:
4.大对象Oracle包含4种大对象类型BLOB、CLOB、NCLOB、BFILE,存储长度都为4G 。具体如下:
1)CLOB
内部字符大对象,存储单字节和多字节字符数据 。支持固定宽度和可变宽度的字符集,常用于大文本的存储 。
2)NCLOB
国家语言字符集大对象,存储UNICODE类型的数据,支持固定宽度和可变宽度的字符集 。
3)BLOB
内部二进制大对象,存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件 。
4)BFILE
外部二进制文件,存储在数据库外的系统文件,只读的,数据库会将该文件当二进制文件处理 。
GBase 8s对Oracle的CLOB和BLOB类型可以兼容,且最大支持4T,但对NCLOB和BFILE类型暂未支持,建议可用CLOB和BLOB替代 。此外GBase 8s还另外支持BYTE和TEXT类型,最大均为2G 。
GBase 8s中验证如下:
5.其他类型除以上常用类型外,Oracle还包含RAW、LONG RAW、ROWID及UROWID类型 。具体如下:
1)RAW
用于存储二进制或字符类型数据,变长二进制数据类型,这说明采用这种数据类型存储的数据不会发生字符集转换 。这种类型最多可以存储2000字节的信息,建议使用 BLOB 来代替它 。
2)LONG RAW
能存储2GB 的原始二进制数据(不用进行字符集转换的数据) 。建议使用BLOB来代替它 。
3)ROWID
ROWID是一种特殊的列类型,称之为伪列(pseudocolumn) 。ROWID伪列在SQL SELECT语句中可以像普通列那样被访问 。ROWID表示行的地址,ROWID伪列用ROWID数据类型定义 。Oracle数据库中每行都有一个伪列 。
4)UROWID
UROWID,它用于表,是行主键的一个表示,基于主键生成 。UROWID与ROWID的区别就是UROWID可以表示各种ROWID,使用较安全 。一般是索引组织表在使用UROWID 。
GBase 8s默认支持ROWID伪列,RAW和LONG RAW类型可用BLOB类型替代 。
GBase 8s中验证如下:
总结一下,GBase 8s可全面兼容Oracle常见数据类型,对于少数非常用数据类型,需要进行少量代码改造,或进行相应类型替换 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: