您的位置:首页 > 数据库 > Oracle

Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2

2014-01-26 15:06 309 查看
在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别

1.CHAR(size)和VARCHAR(size)的区别

CHAR为定长的字段,最大长度为2K字节;

VARCHAR为可变长的字段,最大长度为4K字节;

2.CHAR(size)和NCHAR(size)的区别

CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;

NCHAR根据所选字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字)

3.VARCHAR(size)和VARCHAR2(size)的区别

在现在的版本中,两者是没有区别的;最大长度为4K字节;推荐使用VARCHAR2;

4.VARCHAR2(size)和NVARCHAR2(size)的区别

最大长度为4K字节,区别同CHAR与NCHAR的区别;(如果数据库字符集长度是2,则NVARCHAR2最大为2K)

5.共同特性

当执行insert的时候,插入的值为'',则转变成null,即insert ... values('') <=> insert ... values(null)

搜索的条件须用where xx is null

6.例子

比如有一个性别字段,里面存放“男,女”的其中一个值,两种常用选择

CHAR(2) 和 NCHAR(1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: