Character 数据类型

Character 数据类型用来存储字母数字型数据。当你在oracle 中定义一个character 数据时,通常需要制定字段的长度,它是该字段的最大长度。ORACLE提供以下几种character 数据类型:

CHAR(<size>) CHAR数据类型是一种有固定长度和最大长度的字符串。存储在数据类型为CHAR字段中的数据将以空格的形式补到最大长度。长度定义在1——2000字节之间。

当你创建一个CHAR型字段,数据库将保证在这个字段中的所有数据是定义长度,如果某个数据比定义长度短,那么将用空格在数据的右边补到定义长度。如果长度大于定义长度将会触发错误信息。

VARCHAR(<size>) varchar型数据是varchar2型数据的快照。

VARCHAR2(<size>) varchar2数据类型是一种可变长度的、有最大长度的字母数字型数据。Varchar2类型的字段长度可以达到4000字节,Varchar2类型的变量长度可以达到32676字节。

一个空的varchar2(2000)字段和一个空的varchar2(2)字段所占用的空间是一样的。

NCHAR(<size>) 和 NVARCHAR2(<size>) NCHAR(<size>) 和 NVARCHAR2(<size>)数据类型分别与CHAR(<size>) 和 VARCHAR2(<size>)类型是相同的,只不过它们用来存储NLS(National Language Support)数据。

LONG LONG 数据类型是一个遗留下来的而且在将来不会被支持的数据类型。它将被LOB(Large Object)数据类型所代替。

比较规则 Varchar2和char数据类型根据尾部的空格有不同的比较规则。对Char型数据,尾部的空格将被忽略掉,对于Varchar2型数据尾部带空格的数据排序比没有空格的要大些。比如:

Char 型数据:              ‘YO’=‘YO     ’

Varchar2型数据:           ‘YO’<’YO     ’

Numberic 数据类型

Numberic 数据类型用来存储负的和正的整数、分数和浮点型数据,范围在-1*10-103 和9.999…99*10125之间,有38位的精确度。标识一个数据超出这个范围时就会出错。

Number(<p>,<s>) Number数据类型存储一个有p位精确度的s位等级的数据。

DATE 数据类型

DATE 数据类型用来存储日期和时间格式的数据。这种格式可以转换为其他格式的数据去浏览,而且它有专门的函数和属性用来控制和计算。以下的几种信息都包含在DATE数据类型中:

Ø         Century

Ø         Year

Ø         Month

Ø         Day

Ø         Hour

Ø         Minute

Ø         Second

LOB 数据类型

LOB(Large Object) 数据类型存储非结构化数据,比如二进制文件,图形文件,或其他外部文件。LOB 可以存储到4G字节大小。数据可以存储到数据库中也可以存储到外部数据文件中。LOB数据的控制通过DBMS_LOB 包实现。BLOB, NCLOB, 和CLOB 数据可以存储到不同的表空间中,BFILE存储在服务器上的外部文件中。LOB数据类型有以下几种:

Ø         BLOB: 二进制数据

Ø         CLOB: 字符型数据

Ø         BFILE: 二进制文件

其他数据类型
ROWID ROWID 数据类型是ORACLE数据表中的一个伪列,它是数据表中每行数据内在的唯一的标识。

oracle中的boolean数据类型仅限于PL/SQL,oracle本身没有默认的提供布尔型的存储方式

在设计数据库表结构时,选择一种高效的策略来存储一个可以在很多编程环境中使用的逻辑布尔值是非常重要的。(虽然 Oracle 没有 Boolean 数据类型来表示数据库字段,但是在 PL/SQL 中却具有 Boolean 数据类型。)

任何布尔定义的字段还应该被正确进行约束检查,以确保在插入/更新时输入了有效的值。

create table tbool (bool char check (bool in ('N','Y'));
insert into tbool values ('N');
insert into tbool values ('Y'); 

最常见的设计是模拟很多 Oracle 的数据字典视图中使用的类似布尔的标志,选择‘Y’表示真,‘N’表示假。然而,要正确地与宿主环境交互,比如与 JDBC、OCCI 和其它编程环境交互,最好选择0表示假,选择1表示真,从而使getBoolean 和setBoolean 能够正确地处理它们。

我们可以将一个布乐类型定义为 NUMBER(1);然而,在 Oracle 的内部数字格式中,0在长度字节之后占用一个字节,而1在长度字节之后占用两个字节(所以更加高效地方式是将其存储为 CHAR)。即使字符被定义为 CHAR,SQL 也可以转换和验证实际的数字。

create table tbool (bool char check (bool in (0,1));
insert into tbool values(0);
insert into tbool values(1);

Oracle数据类型(转)相关推荐

  1. java实体属性对应mysql和SQL Server 和Oracle 数据类型对应

    1:Java数据类型与MySql数据类型对照表 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String 12 ...

  2. Oracle数据类型简介【转贴】

    为什么80%的码农都做不了架构师?>>>    Oracle数据类型简介 一.概述 在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENC ...

  3. Oracle数据类型Long需要注意的问题

    1.long是一个旧oracle数据类型,用于存储最多包含2GB数据的可变长度字符串,类似varchar2 2.不能在select语句的where子句中使用long 3.表不能有多个long列 4.不 ...

  4. Oracle 数据类型及存储方式

    Oracle 数据类型及存储方式  袁光东 原创  概述  通过实例,全面而深入的分析oralce的基本数据类型及它们的存储方式.以ORACLE 10G为基础,介绍oralce 10g引入的新的数据类 ...

  5. Oracle数据类型与.NET中的对应关系

    Oracle连接添加的引用不同,会存在数据类型不同以及其他一些差别,就工作中遇到的问题暂时总结下. 两种不同的添加引用语句: (1)System.Data.OracleClient; (2)Oracl ...

  6. sqlserver oracle 数据类型对应关系,SQLSERVER和ORACLE数据类型对应关系详解和对应表格整理...

    Oracle SQLServer 比较 SQLServer 常见的 数据 库 类型 字符 数据 类型 CHAR CHAR :都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面 ...

  7. 在Oracle 数据类型中如何使用dump函数

    http://database.51cto.com/art/201004/192369.htm 本文主要是介绍Oracle 数据类型中的相关数据类型的特点的介绍,以及在Oracle 数据类型中如何使用 ...

  8. oracle 数据类型详解---日期型(转载)

    oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTERVAL及TIME ZONE实际用得比较少 ...

  9. JDBC与Mysql,Oracle数据类型之间的对应关系

    2019独角兽企业重金招聘Python工程师标准>>> MySql数据类型参考:http://www.runoob.com/mysql/mysql-data-types.html M ...

  10. 遇到不支持的 Oracle 数据类型 USERDEFINED。

    当我们查询Oracle数据表中CLOB类型的字段时,会提示"遇到不支持的 Oracle 数据类型 USERDEFINED."的错误信息.面对这个错误,原因是什么,我们改如何解决呢? ...

最新文章

  1. OpenCV——图像的平移旋转
  2. adreno-gpu-profiler
  3. 一个基于LZMA压缩的javascript文件的解码过程。
  4. Linux的tree
  5. 【IT资讯】阿里新推出“阿里云网盘” 速度10MBs,百度网盘或迎来最强对手!
  6. matlab二元方程组,用matlab解一个二元方程组,会的进,得到解再回答
  7. java脚本封号_java中如何踢人下线?封禁某个账号后使其会话立即掉线!
  8. Open browser failed!! Please check if you have installed the browser correct
  9. 自学数据科学机器学习,19个数学和统计学公开课推荐
  10. this.controls指所有控件吗?_PPT特效制作案例:2019年小目标,你定了吗?(用文本框控件制作)...
  11. flash builder java_Flash Builder4.5 + BladeDS + Java 集成实例
  12. PRINCE2与PMP含金量对比
  13. 高效的六面体变换算法实现(一) —— 等圆柱映射 与 六面体映射
  14. Java工程师两周面试突击-中华石杉-Java面试
  15. cpu型号怎么看服务器,看不懂CPU?学会看CPU只要五分钟
  16. 最新的Xcode6_beta_4下载
  17. BZOJ 3772 精神污染 可持久化线段树
  18. Http的多线程下载
  19. Java_输入输出(Scanner)
  20. eclipse报unknown database错误的其中一种方法解决归纳

热门文章

  1. 澎思科技马原:AI安防竞争还未结束,落地进入后发优势时代 | MEET2020
  2. JBoss 系列八十一: jBPM 6 中使用 jbpm-console 创建执行 BPM 流程 - II
  3. Centos6 64位系统安装VNCServer
  4. Python 人脸识别 OpenCV (haarcascades)
  5. 从零开始学OpenDaylight(碳版本)之三:Hello示例
  6. codevs 1105 过河
  7. php 超长用省略号代替
  8. onethink不能安装到已经存在的数据库中的问题
  9. linux程序重读分区表,重读分区表, 求教~~, 系统是 Cent6.5,
  10. python aes padding_python笔记43-加解密AES/CBC/pkcs7padding