oracle_01_数据类型

一. oracle的数据类型
参考地址:
https://blog.csdn.net/qq_33301113/article/details/71439272
https://blog.csdn.net/shangboerds/article/category/2753121/6?orderby=UpdateTime

总分为4种:
1.标量类型(SCALAR,或称基本数据类型):用于保存单个值,分为数值型, 字符型, 日期型, 以及布尔型;
oracle_01_数据类型_第1张图片

2.复合类型(COMPOSITE):复合类型可以在内部存放多种数值,类似于多个变量的集合,例如记录类型,嵌套表,索引表,可变数组等;
3.引用类型(REFERENCE):用于指向另一个不同对象,例如REF CURSOR,REF;
4.LOB类型:大数据类型,最多可以存储4GB的信息,主要用来处理二进制数据;

二. oracle的数据类型详解
数值型

1.NUMBER(m,n)–m表示总位数, n表示小数位数;

(1)定义整型:NUMBER(n), n表示数据长度;
(2)定义浮点型数据:NUMBER(m,n), m表示数据总长度,n表示小数位数;
(3)定义整型: INTEGER,相当于NUMBER(38,0);

2.BINARY_INTEGER与PLS_INTEGER

BINARY_INTENER用来描述不存储在数据库中,但是需要用来计算的带符号的整数值。
它以2的补码二进制形式表述。循环计数器经常使用这种类型。

PLS_INTEGER和BINARY_INTENER唯一区别是
在计算当中发生溢出时,BINARY_INTENER型的变量会被自动指派给一个NUMBER型而不会出错,
PLS_INTEGER型的变量将会发生溢出错误。

3.BINARY_FLOAT与BINARY_DOUBLE
两者比NUMBER节约空间,同时范围更大,采用二进制存储数据.


字符型
1.CHAR 与 VARCHAR2

CHAR采用定长方式保存字符串。如果用户设置的内容不足其定义长度,则会自动补充空格;
VARCHAR2是可变字符串。如果设置的内容不足其长度,也不会为其补充内容;


日期型
1.DATE和TIMESTAMP

可通过SYSDATE或SYSTIMESTAMP两个伪列来获取当前的日期时间;

布尔型
BOOLEAN, 该类型保存TRUE,FALSE,NULL
似乎只用在pl语言, 而不是用在建表的?

二. 建表时使用的数据类型
参考demo:
https://blog.csdn.net/baidu_39137769/article/details/75305446
https://www.cnblogs.com/qmfsun/p/3817344.html
oracle_01_数据类型_第2张图片

create table person(
  name varchar2(20),
  age  number(2),
  birth date default sysdate,
  sex varchar2(20) default '男'
);

三.PL/SQL语言的数据类型
参考demo:https://blog.csdn.net/qq_33301113/article/details/71439272


四.其他类型

1.ROWID类型
ROWID与字符串互转
https://blog.csdn.net/shangboerds/article/details/42317597
ROWID与ROWNUM的用法以及区别
https://blog.csdn.net/yu102655/article/details/52370542

2.%TYPE,%ROWTYPE,RECORD类型
https://blog.csdn.net/linhaiyun_ytdx/article/details/70175756

你可能感兴趣的:(oracle学习,oracle入门)