网站首页 > 数据库> 文章内容

ORACLE数据库字段类型说明

※发布时间:2019-11-7 0:50:40   ※发布作者:habao   ※出自何处: 

  注意:如果给了一个比固定长度更长的值,其尾部带有空格,则空格会被删除到固定的长度。如果值太大Oracle会返回一个错误

  用于保存变长的字符串数据。其中最大字节长度由(size)指定。每行长度可变,最大长度为每行4000字节。

  注意:varchar是被废弃的类型,oracle目前都推荐使用varchar2。虽然varchar也可以用,但不确保未来的版本是否还支持

  用于保存变长的字符串数据。其中最大字节长度由(size)指定。每行长度可变,最大长度为每行4000字节。

  设置长度(size)前需考虑字符集为单字节或多字节。由于VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。

  区别:varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;

  VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;大部分情况下使用varchar2类型,可以更好的兼容性。

  说明:此类型是一个遗留下来的而且将来不会被支持的数据类型,逐渐被BLOB,CLOB,NCLOB等大的数据类型所取代。

  如果没有指定precision的话,Oracle将使用38作为精度。scale表示小数点右边的位数,scale默认设置为0。

  Oracle只是在语法上支持decimal类型,但是在底层实际上它就是number类型,支持decimal类型是为了能把数据从Oracle数据库移到其他数据库中。

  FLOAT类型也是NUMBER的子类型。其格式Float(n),数n位的精度,可以存储的值的数目。N值的范围可以从 1 到 126。

  若要从二进制转换为十进制的精度,请将n 乘以 0.30103。要从十进制转换为二进制的精度,请用 3.32193 乘小数精度。

  BINARY_FLOAT是一种 32 位,单精度浮点数字数据类型。每个BINARY_FLOAT值需要5 字节存储空间,其中 1 字节用于存储数据值的长度。支持NUMBER数据类型所提供的基本功能。但采用二进制精度,而NUMBER采用十进制精度。因此能够提供更快的数算速度,且能减少占用的存储空间。

  其中 1 字节用于存储数据值的长度。支持NUMBER数据类型所提供的基本功能。但采用二进制精度,而NUMBER 采用十进制精度。

  date类型在数据库中的存储固定为7个字节, 第1字节:世纪+100、 第2字节:年、第3字节:月、第4字节:天、

  ORACLE常用的日期类型,它与date的区别是不仅可以保存日期和时间,还能保存小数秒,小数位数可以指定为0-9,默认为6位,所以最高精度 可以到ns(纳秒),数据库内部用7或者11个字节存储,如果精度为0,则用7字节存储,与date类型功能相同,如果精度大于0则用11字节存储。第1字节:世纪+100、第2字节:年、第3字节:月、第4字节:天、 第5字节:小时+1、第6字节:分+1、第7字节:秒+1、 第8-11字节:纳秒,采用4个字节存储,内部运算类型为整形

  注:TIMESTAMP日期类型如果与数值进行加减运算会自动转换为DATE型,也就是说小数秒会自动去除。

  对TIMESTAMP进行了扩展,用于存储时区。时间戳以及时区位移值,其中fractional_seconds_precision是数字在第二日期时间字段的

  小数部分数字的所有值。可接受的值是0到9。默认是6。默认格式是确定明确的NLS_DATE_FORMAT参数或隐式的NLS_TERRITORY参数。

  所有的TIMESTAMP WITH TIME ZONE值,但下列情况除外:数据标准化数据库的时区时,存储在数据库中。当数据被检索,

  用户可以看到在会话时区中的数据。默认格式是确定明确的NLS_DATE_FORMAT参数或隐式的NLS_TERRITORY参数。

  存储期间年数和月的时间,其中year_precision是数字的年份日期时间字段的数量。可接受的值是0到9。默认是2。大小固定为5个字节。

  只精确到年和月.year_precision是数字年的时间段,接受的值为0到9。默认值是2。大小固定为5个字节。

  最大长度是4GB,在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。 Oracle 可以读取、查询BFILE,但是不能写入,不参与事务。

  raw(n)格式,其中n=1 to 2000,可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

  最大长度是2GB。可变长二进制数据,最大长度是2GB。Oracle 用这种格式来保存较大的图形文件或带格式的文本文件,

  如Miceosoft Word文档,以及音频、梦见放鞭炮视频等非文本文件。在同一张表中不能同时有long类型和long raw类型,

  long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

  ROWID为该表行的唯一标识,是一个伪列,可以用在SELECT中,但不可以用INSERT,UPDATE来修改该值。

  ROWID列,Oracle使用ROWID列来建立内部索引。你可以引用ROWID的值,但ROWID并不存放在数据库中,你可以创建一个表包含ROWID数据类型。但Oracle不该值是的rowids。用户必须确保该rowid值是真实的。

  XMLType是Oracle从9i开始特有的数据类型,是一个继承了Blob的强大存在,可以用来存储xml并提供了相当多的操作函数,

  用来直接读取xml文档和管理节点。理论上可以保存2G大小的数据。作为XML数据的特殊存储类型。

  它并不限于用在 WHERE 子句中。而您可能用于 XML 数据的其他任何索引都无法做到这一点。

  XMLIndex因此可提高对 SELECT 列表数据和 FROM 列表数据的访问速度,对 XML 片段提取尤为有用。基于函数的索引和CTPath索引。

  您无需预先了解将在查询中使用的XPath表达式。XMLIndex完全是通用的,而基于函数的索引则不同。可将XMLIndex索引用于基于 XML模式或非基于模式的数据。它可用于二进制 XML 和非结构化存储模型。B 树索引仅适用于以对象关系方式存储(结构化存储)的基于模式的数据;它对于存储在二进制XML 或CLOB 实例中的基于 XML 模式的数据效率低下。可使用XMLIndex索引通过XPath表达式进行搜索,这些表达式的目标是集合(即文档中出现多次的节点)。而函数索引则不然。

  

相关阅读
重庆学习网zslpsh,0755深圳房产人才招聘网,拾年网90后,anedc股票,最新电影下载淘娱淘乐,重庆中学生网高考,重庆中学生网高考,学习重庆方言网,重庆中学生学习方法,重庆俗语网,中学生网zslpsh,0755深圳交友网,重庆初中生,贵州重庆方言网,025新闻网,西南重庆方言歌曲,025南京交友网,重庆农家乐美女,观赏蟹种类zadull,云南重庆方言网,重庆中学学习网,028成都交友网,推广taoyutaol,西南四川方言网,观赏龟论坛zadull,四川重庆方言网,022天津交友网,重庆中学生网家长,鹦鹉鱼zadull,重庆俗语,电影淘娱淘乐,taoyutaole娱乐,华夏视讯网,0755深圳旅游招聘,昆明重庆方言网,淘娱淘乐影视,www.00game.net,观赏鱼zadul,重庆高考zslpsh,重庆中学生网高考,027房产招聘网,坝坝舞wagcw,西南重庆方言网,贵州重庆方言网,重庆言子儿网,热带鱼zadull,重庆高考zslpsh,0755深圳旅游招聘网,淘娱淘乐影视网,0571.361.cm,重庆方言学习网,028成都新闻,异形观赏鱼种类,影视网淘娱淘乐,最新电影下载淘娱淘乐,0773桂林论坛,拾年网80后动画片,观赏蟹论坛zadull,观赏龟繁殖教程,重庆一中zslpsh,重庆俗语网,广场舞wagcw,观赏虾的种类zadull,观赏鱼观赏虾观赏龟,西南方言网,观赏鱼之家论坛zadull,战争前线辅助00game,西南重庆方言小说,重庆中小学zslpsh,推广taoyutaol,战争前线论坛00game,0871交友网,025南京新闻网,重庆言子儿网站,娱乐taoyutaole,022天津交友网,025新闻网,重庆中学生网学习,022天津交友网,重庆方言歌网,www.120.cm健康网,anedc股票,重庆初中生