oracle的数据类型
字符型
名词解析:
定长:作为一个整体存储,如果存储数据少于该字段的限制长度,就会自动向右补足空格,
这就会造成浪费空间。与此同时,在存储固定长度值,效率高于变长。
变长:存储数据多少的数据量就存储的数据量,这样就不会造成空间浪费,
但由于数据一个个的存储,不如作为整体的定长的效率高。
(1)char(size)
定长,存储2000字符
(2)varchar2(size)
varchar2是varchar的增强版
-----------------------------------------
变长,存储4000字符
(3)nchar(size)
定长,存储2000字符,编码是unicode
-------------------------------------------
Unicode:统一转换成此编码。
优势:不同国家的语言不同,使用同一的编码优化,如中文的汉字占有两个字符,使用其后转换成一个字符。
(4)nvarchar2(size)
变长, 存储4000字符,编码是unicode
(5)clob 字符型大对象
变长,最大8tb
(6)blob 存储二进制数据,可以存放图片声音等文件
变长,最大8tb
------------------------------------------------
不推荐存放这些文件,一般存放的是文件的路径
数值型
number 可以存放整数,也可存放小数.
1.变长
2.number(p,s)
范围: 1<=p<=38,-84<=s<=127
p为整数位,s为小数位
保存数据范围:-1.0e-130<=number value < 1.0e+126
-1.0e-130(科学计算法):-1.0乘以10的-130次方
1.0e+126:1.0乘以10的126次方
保存机器范围:1 ~ 22 bytes
3.举例
有效位:从左到右,第一个非0数就是第一个有效位
案例1:
案例2:
123.89 number 123.89
123.89 number(3) 124
123.89 number(6.2) 123.89
123.89 number(6,1) 123.9
123.89 number(4,2) exceeds precision(有效位5,5 > 4)
123.89 number(6,-2) 100
日期型
date (年/月/日/时/分/秒)
其他数据库中支持插入文本格式自动转换时间格式,但oracle有默认的日期格式。
错误提示:
默认日期格式: ‘dd-mm-yyyy’
内置函数:可按照自己的格式转化
to_date('xxxx-xx-xx','yyyy-MM-dd')