Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2248304
  • 博文数量: 310
  • 博客积分: 6853
  • 博客等级: 准将
  • 技术积分: 2833
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-04 16:41
文章分类

全部博文(310)

文章存档

2013年(17)

2012年(42)

2011年(76)

2010年(71)

2009年(99)

2007年(2)

2006年(1)

2005年(2)

分类: Oracle

2011-04-09 10:40:15

oracle nvarchar与varchar、nvarchar与nvarchar2的区别

nvarchar与varchar
varchar早就建议不使用了,应该用VARCHAR2。nvarchar估计也不使用的,也应该是使用nvarchar2。 
VARCHAR2(size),可变长度的字符串,其最大长度为 size 个字节。size 的最大值是 4000,而最小值是 1。您必须指定一个 VARCHAR2 的 size。 
NVARCHAR2(size),可变长度的字符串,依据所选的国家字符集,其最大长度为 size 个字符或字节。size 的最大值取决于存储每个字符所需要的字节数,其上限为 4000 个字节。您必须为 NVARCHAR2 指定一个 size。 
VARCHAR2与NVARCHAR2的不同之处在于它们存放信息占用的空间不同。VARCHAR2存放的英文字符只占一个字节,而nvarchar2依据所选的字符集,大多为两个。 


nvarchar与nvarchar2的区别——关于什么时候用到nchar等国家字符集 

只有要用到unicode时才会用到nvarch,比如中文的很多冷僻字. 
oracle对uncode的解决有两者方案:一种时数据库级的这要求在安装数据库的时必须选择unicode数据库字符集,这样不管是varcha还是nvarchar都可以存储unicode,也就是说两者没有区别. 
另一种是数据类型级,即国家字符集,也就是nvarchar2,就是说当你的数据库字符集不是unicode,比如ZHS16GBK,但又想在个别字段存储诸如中文冷僻字的unicode字符时,就可以选择nvarchar2,但必须9i版本以上的.
阅读(4799) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~