Oracle 数据类型介绍
Posted Abeam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 数据类型介绍相关的知识,希望对你有一定的参考价值。
Ø 简介
本文主要来讨论 Oracle 中的数据类型,包括以下内容:
1. 概念介绍
2. 数值类型
3. 字符类型
4. 日期类型
5. 大数据与二进制类型
6. 列举常用类型的数字代码
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;
执行以上语句,实际存储为56和56.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;
执行以上语句,实际存储为999和29,表示存储为整数形式,小数位进行四舍五入。
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.26和128.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 | Oracle数据库中的大对象(LOB)数据类型介绍 |