oracle数据类型如下图所示:
主要类型有
1)字符类型:
char 定长类型,不足添加空格来补全剩余空间。
varchar2 不定长类型。
nchar、nvarchar2 与 char、varchar2的区别:
(1)前面一种分配长度的单位一定是字符个数,而后一种默认是字节个数,但同时也可以设置为以字符计数。
注意:尽量避免使用varchar。
2)数字类型
number(精度,小数位数) 变长数字类型。
注意:(1)精度最高可达38位。并且只能存储精度内的数据。
(2)若没有指定精度,则小数位数默认为最大范围。若指定精度,却没有指定小数位数,则无法描述小数部分。
(3)小数位数可以为正也可为负,进行舍入时,若为正数,则将小数点向右移动相应的位数,然后舍入后判断数据是否处于精度之内再向左移动相同位数来显示。反之。
我们可以看到number(5,2)存储1234时会报错,因为存储的形式为1234.00共有6位
number(5,-2)存储123.456时,存储结果为100
number(5,-2)存储1234567时,结果为1234600
3)日期类型
DATE、TIMESTAMP
TIMESTAMP的优势:(1)可以显示到时区. (2)可以支持小数秒
截取函数 trunc
4)二进制类型
raw(size) 用来存储无法直接显示的字符数据。
当向该数据类型中插入字符类型,会调用HEXTORAW函数来转换。若超过了‘F’,则报错。
类型转换函数:
1)to_char 2)to_date 3)to_number