今天刷sql面试题,发现题目给的表中,字段类型…天啊!我又没见过(嗯?我为什么要说又?),于是赶紧去查了下。
两种字段类型:NUMBER(6)、VARCHAR2(20)
NUMBER(p,s):
可存储浮点数和整数。
p代表精度,一共有p位是有效位。
p的范围:1-38
s代表刻度(小数位数)。
s的范围:-84-127
当s大于0时,表示后面有s位小数。
详细解读:精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。
当s等于负数时,表示有s位整数。
详细解读:精确到小数点左边s位,并四舍五入。然后检验有效数位是否<=p+|s|;
(有效数位:从左边第一个不为0的数算起)
(我猜0是无效数位)
举例:
1、number(2,3):表示这个数有2位是有效位,后面有3个小数位,如0.012。
2、number(2,-3):表示这个数有2位是有效位,是3位整数,如120。
3、number(2):表示只存在整数位2位
再举例
1、1234.567 number(6,2) --------&