码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 中varchar 、 varchar2 、nvarchar2 有什么区别?

时间:2017-05-25 14:42:12      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:rac   汉字   英文   情况   varchar   类型   个数   获取   部分   

如果oracle的字符编码采用GBK,那么一个汉字占两个字节,可如果使用的是UTF-8那么一个汉字占三个字节。大部分情况下使用varchar2类型,可以保证更好的兼容性。

GBK字符集下:varchar2(10)可以存5个中文,可以存10个英文。但是使用length函数获取长度实际上获取的是字符的个数,即:存5个中文的长度为5 , 10个英文的长度为10 。

nvarchar2(10)最多可一存10个中文,最多也只能存10个英文,字符长度也是字符个数,即无论是中文还是英文都是10 。

varchar2的长度最多可以设置为4000,nvarchar2的长度最多可以设置为2000,也就是说,同样都保存中文的话,两个类型最大都可以存2000个中文,如果同样都存英文的话varchar可以存4000个英文,nvarchar2只可以存2000个英文。

oracle中建表时自动把varchar转换为varchar2类型,进行创建。

varchar也是存在不定长的,和varchar2是同义词,区别在于varchar2是oracle自己开发的一个类型,用户将空字符串当成NULL存储,具有更好的兼容性。

 

Oracle 中varchar 、 varchar2 、nvarchar2 有什么区别?

标签:rac   汉字   英文   情况   varchar   类型   个数   获取   部分   

原文地址:http://www.cnblogs.com/zbj815/p/6903328.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!