Oracle Int 和 Number,varchar,varchar2,nvarchar2数据类型区别

一、

oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。
int类型只能存储整数;
number可以存储浮点数,也可以存储整数;
number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
number(8)存储总长度为8的整数;
int相当于number(22),存储总长度为22的整数。

二、

varchar 存放定长字符数据,最长2000个字符。
varchar2 存放变长字符数据,最长4000个字符。

【注意】

varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,这是因为varchar是标准sql提供的数据类型,有可能随着sql标准的变化而改变。

VARCHAR2是Oracle提供的特定数据类型,Oracle可以保证VARCHAR2在任何版本中该数据类型都可以向上和向下兼容。

VARCHAR在Oracle中不建议使用。

具体到NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则

1、nvarchar2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。

2、而varchar2(10)则只能存进5个汉字,英文则可以存10个。 


参考:

http://blog.csdn.net/heqiyu34/article/details/6774791

http://www.cnblogs.com/zhangdongsheng/archive/2011/05/09/2040836.html


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值