Oracle中NVARCHAR2和VARCHAR2的区别 
【转】NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则

1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。

2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个

CHAR固定长度字符域,最大长度可达2000个字节     
  NCHAR多字节字符集的固定长度字符域,长度随字符集而定,最多为2000个字符或2000个字节     
  VARCHAR2可变长度字符域,最大长度可达4000个字符     
  NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为4000个字符或4000个字节 
何时该用CHAR,何时该用varchar2? 
  CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. 
  VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。 
  VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。 
.nvarchar/nvarchar2

nvarchar和nvarchar2是长度不固定的

nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数

nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节

nvarchar/nvarchar2适用于存放中文

ORACLE中的varchar2()与nvarchar2()的讲解的更多相关文章

  1. Oracle中varchar,varchar2,nvarchar,nvarchar2的区别及其它数据类型描述

    --varchar,varchar2 联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个 ...

  2. Oracle中varchar,varchar2,nvarchar,nvarchar2的区别

    --varchar,varchar2 联系:1.varchar/varchar2用于存储可变长度的字符串比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节 ...

  3. Oracle 12C -- 扩展varchar2、nvarchar2、和raw数据类型的大小限制

    在12C中,varchar2,nvarchar2和raw类型从之前的4K扩展到32K 升级到12C后,参数max_string_size默认值是standard,即不改变varchar2.nvarch ...

  4. Oracle中Merge into的用法实例讲解

    最近在做一个需求,就是涉及到表的问题,前端传过来一条数据,根据主键,查询数据库,如果不存在,那么久插入到数据库中一条,如果存在的话,就是以主键的方式,对数据库中的数据,进行更新. 拿到这个需求的时候, ...

  5. oracle转Mysql中,varchar2(10)和number应该转换为什么类型?

    一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类 ...

  6. oracle转Mysql中,varchar2(10)和number应该转换为什么类型? (转)

    一. varchar2(10)和number应该转换为什么类型? oracle转成mysql时:varchar2(10)可以转成varchar(10)number则要看oracle中存储的具体是什么类 ...

  7. 关于oracle中varchar2与nvarchar2的一点认识

    今天在oracle 10g下测试了下varchar2与nvarchar2这两种类型,网上有很多关于这两种类型的区别的帖子,我还是自己测试了下. varchar2(size type),size最大为4 ...

  8. oracle中Varchar2和nvarchar2的区别

    在oracle 11g下测试了下varchar2与nvarchar2这两种类型,网上有很多关于这两种类型的区别的帖子,我还是自己测试了下. varchar2(size type),size最大为400 ...

  9. Oracle中NVARCHAR2与VARCHAR2的相互转换

    将NVARCHAR2转换为VARCHAR2: declare v_username   varchar2(12)   ; v_nm_login   nvarchar2(12); begin selec ...

随机推荐

  1. Spring Boot 2.x引入JS,CSS 失效问题

    我的SpringBoot版本是2.0,启动后发现页面奇丑无比: 看下目录结构: SpringBoot默认扫描Static文件夹下的文件,这里把CSS,JS以及图片文件都放在了asserts文件夹下. ...

  2. redis缓存架构-02-两种持久化机制(RDB和AOF)

    1.两种持久化机制的介绍 1.1 RDB 周期性的生成redis内存数据的一份完整的快照 1)根据配置的检查点,生产rdb快照文件,fork一个子线程,将数据dump到rdb快照文件中,完成rdb文件 ...

  3. springmvc 异常统一处理的三种方式详解

    1 描述  在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的.不可预知的异常需要处理.每个过程都单独处理异常,系统的代码耦 ...

  4. js高级编程思想

    js惰性思想: 能够执行一次就搞定绝对不会执行第二次 function createXHR(){ var xhr=null, falg=false, ary=[ function(){ return ...

  5. shell条件测试举例

  6. WebDriverAgent安装

    这次安装WebDriverAgent的过程可谓坎坷呀,最后还是大牛远程解决问题,自己的确差太远,记录一下过程吧 尽量升级Xcode到最新版,保持iPhone的版本大于9.3 终端进入目标文件夹WebD ...

  7. emoji处理方法

    在做微信公众号开发时碰到了获取微信基本信息的需求,但是在像数据库保存用户昵称的时候出错了, 出错原因是微信用户的昵称中包含emoji等特殊符号,表情图片, mysql数据库使用的是utf8,最大存储3 ...

  8. [REPRINT]MySQL Indexing Explained

    https://atech.blog/viaduct/mysql-indexes-primer What are Indexes? Every time your web application ru ...

  9. localstorage sessionstorage和cookie的区别

    基本概念 cookie:是网景公司的前雇员在1993年发明.它的主要用于保存登陆信息,比如登陆某个网站市场可以看到'记住密码’,这就是通过在cookie中存入一段辨别用户身份的数据来实现的. sess ...

  10. 【leetcode】931. Minimum Falling Path Sum

    题目如下: Given a square array of integers A, we want the minimum sum of a falling path through A. A fal ...