Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2

本文详细介绍了Oracle数据库中CHAR、NCHAR、VARCHAR、VARCHAR2及NVARCHAR2五种字符类型的区别,包括它们各自的特性、存储方式及应用场景,并通过具体示例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值