当前位置:Gxlcms > 数据库问题 > Oracle 数据类型介绍

Oracle 数据类型介绍

时间:2021-07-01 10:21:17 帮助过:15人阅读

简介

本文主要来讨论 Oracle 中的数据类型,包括以下内容:

1.   概念介绍

2.   数值类型

3.   字符类型

4.   日期类型

5.   大数据与二进制类型

 

1.   概念介绍

在我们的程序中有各种数据类型,而在 Oracle 中也有很多种类型,其实每一种语言的数据类型都会跟数据库中的数据类型大致的对应起来。比如:

技术图片

Oracle 中主要分为四大数据类型,即:数字类型、字符类型、日期类型,以及大数据与二进制类型,下面就来讨论着几种常用的数据类型。

 

2.   数值类型

1)   NUMBER(Type = 2)

number 类型是 Oracle 中常用的数据类型,即可以用于存储整数,也可以存储小数,是一个非常有意思的数据类型。number 是一个可变长度的数据类型,并且始终保持四舍五入的原则。

 

number 可以指定两个参数 number(p,s)

l  p表示有效位,从左边第一个非0的数字开始数,到结尾的长度,取值范围:1 ~ 38

l  s表示小数位,取值范围:-84 ~ 127

注意:通常情况下(需要整数位时),应该 p > s,例如:

1.   number(3,2) 只能存储:0.01 ~ 9.99 -0.01 ~ -9.99

2.   number(3,3) 只能存储:0.001 ~ 0.999 -0.001 ~ -0.999

3.   number(2,3) 只能存储:0.001 ~ 0.099 -0.001 ~ -0.099

n  number 可以表示的数值范围:-1.0e-130 ~ 1.0e+126,占用空间为1 ~ 22 个字节。

 

下面看几个常见的例子:

1.   number

create table t_number(num number);

insert into t_number values(56);

insert into t_number values(56.78);

select * from t_number;

执行以上语句,实际存储为5656.78。当不指定有效位和小数位时,number 可根据实际值而确定。

查看占用字节情况:select num, dump(num) from t_number;

技术图片

56占用2个字节;而56.78占用3个字节

 

2.   number(3)

create table t_number3(num number(3));

insert into t_number3 values(999);

insert into t_number3 values(28.56);

select * from t_number3;

执行以上语句,实际存储为99929,表示存储为整数形式,小数位进行四舍五入。

number(3) 相当于 number(3,0),取值范围为:-999~999

 

3.   number(5,2)

create table t_number5_2(num number(5,2));

insert into t_number5_2 values(128.264);

insert into t_number5_2 values(128.265);

select * from t_number5_2;

执行以上语句,实际存储为128.26128.27,当小数位大于指定范围时,将进行四舍五入。

 

n  更多例子

范围

插入值1

结果

插入值2

结果

number(5,2)

23.56

23.56

0.008

0.01

number(4,3)

123.45

报错

3.45

3.45

number(5,5)

0.2

0.2

0.000012

0.00001

number(3,-2)

182

200

142.85

100

number(2,3)

0.123

报错

0.023

0.023

0.23

报错

 

 

number(3,3)

0.234

0.234

0.23

0.23

0.1

0.1

 

 

number(6,3)

999.9995

人气教程排行