oracle中integer和number类型
oracle中:
number(10)表示长度是10,问题:
1、integer类型表示的number长度是53?(在oracle的create table中可以定义字段类型为Integer啊?)
2、那number类型表示的长度是否是默认的38?因为我看到有的文章说它的类型大于38。谢谢!
oracle中:
number(10)表示长度是10,问题:
1、integer类型表示的number长度是53?(在oracle的create table中可以定义字段类型为Integer啊?)
2、那number类型表示的长度是否是默认的38?因为我看到有的文章说它的类型大于38。谢谢!
2. 是的
手册中关于NUMBER说明的最后一句话就是你要的答案。
INTEGER存储整数,整数不包括浮点数.是一个整数数字.
“以前我一直以为 integer=number(38,0) --38是number的最大精度
刚才无意中发现integer 是个超大的数据类型,最大可以表示为power(10,126)-1
...
一个integer类型最少使用53个字节”2、“因为Oracle的表结构中没有布尔类型,所以很多人干脆用integer代替布尔类型,这个感觉有点“奢侈”;我一般都用char(1)表示布尔型;'0'表示false,'1'表示true”这里我一般用NUMBER(1)来表示boolean类型,这种用法应该与使用char(1)占用的空间一样多吧?
比如用pro*c编程,对应的number类型对应的C语言变量类型是double/float;
而INT 类型对应的C语言变量类型就是int了.