oracle数据类型测试参考

上一篇 / 下一篇  2012-07-13 10:24:23 / 个人分类:数据库

Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在1.0 * 10(-130) —— 9.9...9 * 10(125) {38个9后边带88个0}的数字,当Oracle中的数学表达式的值>=1.0*10(126)时,Oracle就会报错。
Number的数据声明如下:
表示                 作用                说明
Number(p, s)        声明一个定点数        p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,scale的取值范围为-84到127
Number(p)        声明一个整数        相当于Number(p, 0)
Number        声明一个浮点数        其精度为38,要注意的是scale的值没有应用,也就是说scale的指不能简单的理解为0,或者其他的数。

定点数的精度(p)和刻度(s)遵循以下规则:
       当一个数的整数部分的长度 > p-s 时,Oracle就会报错
       当一个数的小数部分的长度 > s 时,Oracle就会舍入。
       当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。
       当s > p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入


oracle字段类型NUMBER(38,3),括号中两个数字分别表示什么?

38代表总位数 3代表小数点后面位数
number(p,s)
p:1~38
s:-84~127
p>0,对s分2种情况:1. s>0
精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。
2. s<0
精确到小数点左边s位,并四舍五入。然后检验有效数位是否<=p+|s|

123.2564 NUMBER 123.2564

1234.9876 NUMBER(6,2) 1234.99

12345.12345 NUMBER(6,2) Error

1234.9876 NUMBER(6) 1235

12345.345 NUMBER(5,-2) 12300

1234567 NUMBER(5,-2) 1234600

12345678 NUMBER(5,-2) Error

123456789 NUMBER(5,-4) 123460000

1234567890 NUMBER(5,-4) Error

12345.58 NUMBER(*, 1) 12345.6

0.1 NUMBER(4,5) Error

0.01234567 NUMBER(4,5) 0.01235

0.09999 NUMBER(4,5) 0.09999




Oracle数据库中的varchar2类型
我Oracle数据库中定义了一个name  varchar2(50) null;
我想知道name这个字段能输入多少个字或是字母,数字,特殊字符。varchar2(50)是什么意思?有什么输入限制?
我来帮他解答
2010-5-22 13:33 满意回答
varchar2(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。
varchar2是Oracle中特有的一种数据库类型,与varchar的区别在于

varchar 存贮为定长
varchar2 存贮为不定长。

即:如果定义了一个字段为varchar(10),那么存贮到这个字段的值,不管有没有10个字符,都存贮为10个字符长度,不足的部份补足空格。而如果定义为varchar2(10),那么按实际值来存贮,即字段值有多长存贮为多长,不补足空格。这样,在进行字段值的比较时,varchar2显然比 varchar字段简单且不易出错。另外,在进行存贮时,varchar2 也比varchar节约存贮空间。因此建议用varchar2来代替varchar类型。除非你能确定这个字段存贮内容总是那么长,那么varchar字段也是可以用的。

varchar2的最大长度是4000



CHAR的长度是固定的,VARCHAR2的长度是可以变化的, 存储字符串“ABC",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储.
VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些

TAG:

 

评分:0

我来说两句

Open Toolbar