`
乾途Zane
  • 浏览: 14339 次
  • 性别: Icon_minigender_1
  • 来自: 长春
文章分类
社区版块
存档分类
最新评论

Oracle数据库中的varchar,varchar2,nvarchar,nvarchar2区别及用法

 
阅读更多

【varchar,varchar2

联系:

1. varchar/varchar2用于存储可变长度的字符串

比如 varchar(20),存入字符串'abc',

则数据库中该字段只占3个字节,而不是20个字节

2. size 的最大值是 4000,而最小值是 1,其值表示字节数,

比如 varchar(20)表示最大可以存放20个字节的内容


区别:

1. varchar2把所有字符都占两字节处理(一般情况下),

varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;

2. VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
3. VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,
比如GBK,汉字就会占两个字节,英文1个
如果是UTF-8,汉字一般占3个字节,英文还是1个。

但是一般情况下,我们都认为是两个字节处理,

因为oracle安装时候默认我们都选择GBK的编码格式,

但是我们在页面做输入字符串长度的校验的时候,

还是以数据库设计字段最大长度除3来作为最大长度

-----防止数据库移植时设置不同编码格式;

比如:VARCHAR2(10),一般情况下最多存放5个汉字,10个字符

--nvarchar,nvarchar2
联系:
1. nvarchar/nvarchar2用于存储可变长度的字符串
2. size 的最大值是 4000,而最小值是 1,其值表示字符的个数,而不是字节数
3. 这两种类型更适合存储中文


区别:
1.nvarchar中字符为中文则一般按2个字节计算,英文数字等按照一个自己计算
2.nvarchar2中所有字符均按照2个字节计算;
3.nvarchar2虽然更占空间,但是它有更好的兼容性,所有推荐使用;



VARCHAR2(size)

可变长度的字符串,其最大长度为size个字节;size的最大值是4000,而最小值是1;你必须指定一个VARCHAR2的size;

NVARCHAR2(size)

可变长度的字符串,依据所选的国家字符集,其最大长度为size个字符或字节;size的最大值取决于储存每个字符所需的字节数,其上限为4000;你必须指定一个NVARCHAR2的size;
分享到:
评论

相关推荐

    oracle char,varchar,varchar2的区别和使用方法

    ### Oracle CHAR, VARCHAR, VARCHAR2 的区别与使用方法 在 Oracle 数据库中,字符串类型是极为常见的数据类型之一,主要用于存储文本数据。其中最常用的三种类型包括:`CHAR`, `VARCHAR`, 和 `VARCHAR2`。这三种...

    Oracle 数据库多语言入库问题的解决方案

    Oracle 数据库多语言入库问题的解决方案是针对企业在国际化进程中遇到的多国语言信息存储难题,尤其是在使用Oracle数据库时,由于字符集的不兼容性导致非中文语言数据入库时出现乱码。Oracle数据库作为全球广泛使用...

    Oracle数据库第2讲1001.pptx

    Oracle数据库第2讲1001.pptx 本资源摘要信息中,我们将详细介绍Oracle数据库的基本概念、表的管理、基本查询和复杂查询等知识点。 Oracle数据库基本概念 在Oracle数据库中,数据库服务器、数据库和表的关系是非常...

    Oralce中VARCHAR2()与NVARCHAR2()的区别介绍

    总之,Oracle中的VARCHAR2()和NVARCHAR2()是两种重要的字符串数据类型,它们在存储方式、字符编码和长度限制上有所区别。在数据库设计时,理解这些差异可以帮助我们做出更合适的决策,确保数据的完整性和存储效率。

    oracle数据库相关练习与答案

    根据提供的Oracle数据库相关的练习及其描述,我们可以总结出以下几个重要的知识点: ### 1. 创建表 (CREATE TABLE) 在Oracle数据库中创建表是基本操作之一。通过`CREATE TABLE`语句可以定义表的结构,包括字段名、...

    Oracle数据库第2讲.pptx

    Oracle 数据库基础概念、表管理和数据类型 本资源摘要信息将对 Oracle 数据库的基础概念、表管理和数据类型进行详细的介绍。 一、Oracle 数据库基础概念 Oracle 数据库服务器、数据库和表的关系是 Oracle 数据库...

    Oracle数据库第2讲.ppt

    在Oracle数据库第2讲中,主要探讨了数据库服务器、数据库和表的基本概念,以及数据在数据库中的存储方式,同时介绍了如何创建表以及Oracle数据库中常用的数据类型。 首先,数据库服务器是安装在计算机上用于管理多...

    赤兔Oracle数据库恢复软件 v11.6.zip

    赤兔Oracle数据库恢复软件是一款专业好用的Oracle数据库抢修恢复软件。软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失...

    oracle数据库的字符集

    ### Oracle数据库中的字符集 #### 一、字符集的基本概念 在Oracle数据库中,字符集是一个非常关键的概念,它直接关系到数据的正确存储和显示。字符集在创建数据库时被指定,并且在创建后通常不能更改。因此,选择...

    Oracle12c数据库基础教程Oracle12c数据库对象管理.pptx

    本节课主要介绍 Oracle 数据库中常用的对象管理方法,包括表管理、索引管理、视图管理、序列管理与约束管理。 配置管理数据库对象的用户 在 Oracle 数据库中,可以使用 GRANT 语句来配置管理数据库对象的用户。...

    oracle数据库修复

    支持的数据类型包括:NUMBER, CHAR, VARCHAR2, NCHAR,NVARHCAR2, LONG, DATE, RAW, LONG RAW, BLOB, CLOB, TIMESTAMP (9i+) , BINARY FLOAT, BINARY DOUBLE (10g+) 全面支持LOB字段: 支持CLOB、NCLOB和BLOB CLOB...

    SQL Server中,varchar和nvarchar如何选择?

    在SQL Server中,选择使用`varchar`还是`nvarchar`数据类型是数据库设计中的一个重要决策,因为这直接影响到数据存储的效率、空间占用以及兼容性。理解这两种数据类型的差异至关重要。 `varchar`是一种变长字符串...

    Sqlserver中char,nchar,varchar与Nvarchar的区别分析

    在SQL Server中,字符数据类型是用来存储文本信息的,包括char、nchar、varchar和nvarchar。这四个数据类型都有各自的特点和用途,下面我们逐一详细分析它们的区别。 1. **char类型**: - char是固定长度的字符...

    浅析Oracle中char和varchar2的区别

    至于`VARCHAR2`和`NVARCHAR2`的区别,`NVARCHAR2`是Unicode字符串类型,可以存储不同语言的字符,而`VARCHAR2`则只支持数据库的默认字符集。如果你需要处理多语言数据或者需要更广泛的字符支持,`NVARCHAR2`是更好的...

    ORACLE数据库字符集设置

    在使用ORACLE数据库时,字符集设置不当可能会导致汉字显示异常,这是影响ORACLE数据库正常运行的关键问题之一。字符集的选择不仅关系到数据的正确存储与显示,还会影响到系统的国际化支持能力。本文将详细介绍如何在...

    Oracle数据库基础培训PPT课件.pptx

    常见的数据类型有VARCHAR2、NVARCHAR2、NUMBER、DATE、RAW、LONG、LONG RAW、CHAR、NCHAR、CLOB、NCLOB、BLOB等。VARCHAR2用于存储可变长度的字符串,NUMBER则可以存储带有精度和小数位数的数值。DATE类型用于日期和...

Global site tag (gtag.js) - Google Analytics