在Oracle数据库中,经常使用的数据类型包含:number、varchar2、char、date、long、clob、blob。
一、number
number类型是数值型的数据类型,是常用的数据类型。
用途:
1、作为表中字段的数据类型
2、作为代码块中变量的数据类型
取值范围:1E-130至1E126
占用字节数范围:1-22,可以使用dump()函数查看。参看:oracle中number数据类型的存储以及最大值问题
参数说明:
NUMBER ( precision, scale)
- precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度。
- 如果scale大于零,表示数字精确到小数点右边的位数;scale默认设置为0;如果scale小于零,Oracle将把该数字取舍到小数点左边的指定位数。
- Precision的取值范围为【1---38】;Scale的取值范围为【-84---127】。
- NUMBER整数部分允许的长度为(precision- scale),无论scale是正数还是负数。
- 如果precision小于scale,表示存储的是没有整数的小数。
- Precision表示有效位数,有效数位:从左边第一个不为0的数算起,小数点和负号不计入有效位数;scale表示精确到多少位,指精确到小数点左边或右边多少位(+-决定)。
备注:数据显示问题解决方法参考: Oracle中较长number型数值的科学计数显示问题
二、常用字符型数据类型
数据类型 | 用途 | 参数(字段类型) | 参数(变量类型) | 占用字节数(字段类型) | 占用字节数(变量类型) | 长度是否可变 |
varchar2 | 字段类型、变量类型 | 1-4000 | 1-32767 | 1-4000 | 1-32767 | 是 |
char | 字段类型、变量类型 | 1-2000 | 1-32767 | 1-2000 | 1-32767 | 否 |
varchar | 变量类型 | 1-32767 | 1-32767 | 是 | ||
nvarchar2 | 字段类型、变量类型 | 1-2000 | 1-32767 | 1-4000 | 2-32767*2 | 是 |
nchar | 字段类型、变量类型 | 1-1000 | 1-32767 | 1-2000 | 2-32767*2 | 否 |
三、不常用的数据类型
请查阅: ORACLE数据库数据类型