zoukankan      html  css  js  c++  java
  • oracle中varchar2和nvarchar2的区别

    varchar2(size type),size最大为4000,type可为char或者byte,默认是byte。

    varchar2最多存放4000字节的数据,不管type是char还是byte。所以如果你设置varchar2(4000 char),你可以存入4000个字母,但是不能存入4000个汉字。如果数据库字符集编码是GBK,那么varchar2最多能存放2000个汉字,如果字符集编码是UTF-8,那么则只能最多存放1333个汉字了。

    nvarchar2(size),size最大值为2000,单位是字符,而且不管是汉字还是字母,每个字符的长度都是2个字节。所以nvarchar2类型的数据最多能存放2000个汉字,也最多只能存放2000个字母。并且nvarchar2不同于varchar2,他不受数据库字符集的影响。

    另外如果我们把A1,A2都设为varchar2(4000),并且这两个字段的内容长度都超过了2000字节,那么使用select A1||A2 from table这样的语句时,因为结果超过了4000字节,所以会报错。

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

    1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符,而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个
     2、VARCHAR2可变长度字符域,最大长度可达4000个字符,NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为2000个字符或2000个字节

    区别:

    1.nvarchar中字符为中文则一般按2个字节计算,英文数字等按照一个自己计算

    2.nvarchar2中所有字符均按照2个字节计算;

    3.nvarchar2虽然更占空间,但是它有更好的兼容性(推荐使用);

  • 相关阅读:
    函数的节流和函数的防抖
    微信小程序开发
    当后端人员未提供接口,前端人员该怎么测试 --mock
    vue之写发表评论思路
    vue之头像管理思路
    numpy 索引切片迭代
    numpy 通用函数
    numpy 数组运算
    numpy 创建数组
    numpy 数据类型
  • 原文地址:https://www.cnblogs.com/weibanggang/p/12800105.html
Copyright © 2011-2022 走看看