zoukankan      html  css  js  c++  java
  • Oracle 中varchar 、 varchar2 、nvarchar2 有什么区别?

    如果oracle的字符编码采用GBK,那么一个汉字占两个字节,可如果使用的是UTF-8那么一个汉字占三个字节。大部分情况下使用varchar2类型,可以保证更好的兼容性。

    GBK字符集下:varchar2(10)可以存5个中文,可以存10个英文。但是使用length函数获取长度实际上获取的是字符的个数,即:存5个中文的长度为5 , 10个英文的长度为10 。

    nvarchar2(10)最多可一存10个中文,最多也只能存10个英文,字符长度也是字符个数,即无论是中文还是英文都是10 。

    varchar2的长度最多可以设置为4000,nvarchar2的长度最多可以设置为2000,也就是说,同样都保存中文的话,两个类型最大都可以存2000个中文,如果同样都存英文的话varchar可以存4000个英文,nvarchar2只可以存2000个英文。

    oracle中建表时自动把varchar转换为varchar2类型,进行创建。

    varchar也是存在不定长的,和varchar2是同义词,区别在于varchar2是oracle自己开发的一个类型,用户将空字符串当成NULL存储,具有更好的兼容性。

  • 相关阅读:
    东坡诗词(选)
    网络编程_网络基础
    命名空间
    python常见报错类型和异常处理
    关于文件操作
    python支持的基本数据类型及其简单操作
    运算符
    python简介
    python实现简单四则运算计算器
    Memory barrier
  • 原文地址:https://www.cnblogs.com/zbj815/p/6903326.html
Copyright © 2011-2022 走看看