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适用于存放中文

转载于:https://www.cnblogs.com/fushou/p/7387923.html

ORACLE中的varchar2()与nvarchar2()的讲解相关推荐

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

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

  2. oracle中nvarchar,SQL中的Nvarchar在oracle中用作varchar2

    我听说过Oracle中的varchar2 emp_name varchar2(10)如果输入的值小于10,则剩余空间将被自动删除 在SQL中我们如何实现这一目标. 通过使用nvarchar,我们可以在 ...

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

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

  4. oracle中varchar 和 nvarchar2的区别,oracle的varchar2和nvarchar2区别讲解

    1.NVARCHAR2(size)与VARCHAR2(size CHAR)相似,唯一的区别是NVARCHAR2(size)的最大长度是4000字节(实验测试结果是,在utf8的字符集下,最大长度为20 ...

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

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

  6. oracle中orand使用,Postgres兼容Oracle研究——orafce调研

    一.背景 PostgreSQL是和Oracle最接近的企业数据库,包括数据类型,功能,架构和语法等几个方面.甚至大多数的日常应用的性能也不会输给Oracle. 但是Oracle有些函数或者包,默认Po ...

  7. ORACLE中CLOB介绍及使用

    一.Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARCHAR2.VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Data ...

  8. oracle clog读取 php,Oracle中操作Clog/Blog

    Oracle中,Varchar2支持的最大字节数为4KB,所以对于某些长字符串的处理,我们需要用CLOB类型的字段,CLOB字段最大支持4GB. 还有其他几种类型: blob:二进制,如果exe,zi ...

  9. Oracle中NVARCHAR2与VARCHAR2的区别

    Oralce官方文档"Datatypes"部分对NVARCHAR2.VARCHAR2以及VARCHAR有一段描述,可以清晰得到它们的区别.罗列在此,供大家参考. [链接]http: ...

最新文章

  1. 飞桨深度学习开源框架2.0抢先看:成熟完备的动态图开发模式
  2. 电脑word在哪_怎么将图片转换成Word?学会这3种方法,轻松将图片转文字!
  3. springboot 建readme_经验分享:给项目创建和编写README.md文件的步骤
  4. 移动互联网下一步:“深度学习”配合大数据
  5. Mysql InnoDB Plugin安装 install
  6. js调用vlc_如何使用HTML5或JavaScript查看RTSP流,而不使用Real Player插件上的VLC插件等插件?...
  7. mysql jar jdk1.6_Windows下JDK1.6+MySQL+MyEclipse开发环境的配置
  8. 超级硬盘数据恢复软件v2.7.2.6_电脑磁盘上的视频误删如何恢复?误删视频恢复教程...
  9. .net 读取xml文件
  10. 【Linux】CentOS 7 安装 docker
  11. 20.Linux 账号管理与 ACL 权限设置
  12. 使用PostMan调试webService接口
  13. 批量重命名文件夹和文件名bat脚本
  14. 【顺序表】SqList *L是什么意思
  15. 2-1.基金的募集,交易与登记
  16. old-style parameter declarations in prototyped function definition
  17. azdb文件怎么打开_az mysql db
  18. 单反相机的传奇—佳能单反50年辉煌之路(连载二)
  19. AI教程Illustrator CC 2018 实时上色
  20. nga php,index.php

热门文章

  1. 67.数据库系统的三级模式
  2. 49.什么是拼接技术?
  3. 域控制器服务器端和客户端设置
  4. Object o与Object o=null的区别
  5. 081_html5地理定位
  6. rust高级矿场_高级 Rust 所有权管理
  7. springboot中使用redis详解
  8. add binary java_LeetCode算法题-Add Binary(Java实现)
  9. 如何通过 macOS 恢复功能重新安装 macOS
  10. ANSYS Products 19.1 安装教程