为了账号安全,请及时绑定邮箱和手机立即绑定

oracle的numeric 和number 数据类型有什么区别?

oracle的numeric 和number 数据类型有什么区别?

慕桂英3389331 2019-05-27 18:06:32
oracle的numeric 和number 数据类型有什么区别
查看完整描述

4 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

numeric和decimal 是标准sql的数据类型,格式是numeric(m,n)

而number是oracle的特殊的类型,有number,number(m,n)的格式。

查看完整回答
反对 回复 2019-06-01
?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

oracle下decimal和number的区别主要在函数返回值上面
  create or replace function test_decimal
  return
   decimal
  is
   Result decimal(12,2);
  begin
   Result := 1234567890.99;
   return Result;
  end test_decimal;
  /
  create or replace function test_number
  return
   number
  is
   Result number(12,2);
  begin
   Result := 1234567890.99;
   return Result;
  end test_number;
  /
  SELECT test_decimal(), test_number() FROM DUAL;
  
  因为DECIMAL在没有指定小数位的时候,将其默认设置为0,而NUMBER不会做这样处理,所以在过程和函数里面还是用number比较好

查看完整回答
反对 回复 2019-06-01
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

 Numberic 数据类型用来存储负的和正的整数、分数和浮点型数据,范围在-1*10-103 和9.999…99*10125之间,有38位的精确度。标识一个数据超出这个范围时就会出错。
  Number( p,s) Number数据类型存储一个有p位精确度的s位等级的数据。

查看完整回答
反对 回复 2019-06-01
?
SMILET

TA贡献1796条经验 获得超4个赞


oracle包括三种数据类型:
1)数值:number或number(p,s)
p:精度,s:刻度(小数位数)
1234.567 number(6,2) --------> 1234.57
0.001234 number(2,4) --------> 0.0012
1234 number(3,-1)--------> 1230
1204 number(3) --------> 超出精度
2)字符:char, varchar, varchar2
char与varchar的区别:
1.内容存储时占用的存储空间;
定长:char (声明固定长度)
'a' -> char(10) -> 10
'ab' -> char(10) -> 10
变长:varchar (根据实际存储的长度为准)
'a' -> varchar(10) -> 1
'ab' -> varchar(10) -> 2
2.所允许存储的最大长度;
char: 2000
varchar: 4000
varchar与varchar2的区别:
1.制定厂商不同:
varchar:ANSI
varchar2:Oracle
2.承诺不同;
3)日期:date '01-JAN-08'
世纪,年,月,日,时,分,秒

查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 6066 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信