oracle中的varchar2存储中文,varchar2存储汉字

oracle中的varchar2存储中文,varchar2存储汉字NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关,例如数据库是中文字符集时,以长度10为例,则NVARCHAR2(10)可以存进去10个汉字,如果用来存英文也只能存10个字符。VARCHAR2(10)只能存进5个汉字,英文则可以存10个。********************************************…

大家好,又见面了,我是你们的朋友全栈君。

NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于: NVARCHAR2在计算长度时和字符集相关, 例如数据库是中文字符集时,以长度10为例,则 NVARCHAR2(10)可以存进去10个汉字,如果用来存英文也只能存10个字符。 VARCHAR2(10)只能存进5个汉字,英文则可以存10个 。 *********************************************************************** CHAR固定长度字符域,最大长度可达2000个字节 NCHAR多字节字符集的固定长度字符域,长度随字符集而定,最多为2000个字符或2000个字节 VARCHAR2可变长度字符域,最大长度可达4000个字符 NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为4000个字符或4000个字节 *********************************************************************** varchar,nvarchar, varchar2,nvarchar2的区别 四个类型都属于变长字符类型: varchar和varchar2的区别在与后者把所有字符都占两字节,前者只对汉字和全角等字符占两字节。 nvarchar和nvarchar2的区别和上面一样, 与上面区别在于是根据Unicode 标准所进行的定义的类型,通常用于支持多国语言类似系统的定义。 ***************************************************************************************************************** char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节; char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字。 char适用于长度比较固定的,一般不含中文的情况 ***************************************************************************************************************** varchar/varchar2 varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。 varchar同样区分中英文,这点同char。 varchar2基本上等同于varchar,它是oracle自己定义的一个非工业标准varchar,不同在于,varchar2用null代替varchar的空字符串 varchar/varchar2适用于长度不固定的,一般不含中文的情况 1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节; 2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理; 3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集, 大部分情况下建议使用varchar2类型,可以保证更好的兼容性。 ***************************************************************************************************************** nvarchar/nvarchar2 nvarchar和nvarchar2是长度不固定的 nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数 nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占两个字节 nvarchar/nvarchar2适用于存放中文

答案来源网络,供参考,希望对您有帮助

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148652.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OriginPro绘图过程中遇到的问题及解决办法

    OriginPro绘图过程中遇到的问题及解决办法y轴标题如何只显示单位不显示长名称?选中坐标轴标题,右击,选择属性,将文本内容由%(?Y)改为%(?Y,@lu),即可。此为软件内部代码,可以正常使用。

    2022年5月29日
    76
  • Ubuntu安装超好用的Edge浏览器

    Ubuntu安装超好用的Edge浏览器Edge与Chrome都基于开源浏览器Chromium。但是Chrome由与众所周知的原因,扩展商店,翻译等服务延迟高,并不好用。相比较Edge体验起来会更流畅。但是通过官方地址https://www.microsoft.com/zh-cn/edge并没有Linux版本。这里可以通过https://www.microsoftedgeinsider.com/zh-cn/下载官方内部版本。…

    2022年7月21日
    30
  • ubuntu clion2021 激活码-激活码分享[通俗易懂]

    (ubuntu clion2021 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日
    203
  • 静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍

    静态路由(静态汇总路由,静态默认路由,负载均衡,浮动静态路由)介绍网络上通过硬件设备传递数据。最常见的就是路由器和交换机。本篇介绍路由器如何使用静态路由条目来转发数据。一个数据包从源IP地址到目标IP地址间可能穿过多个路由器,也可能有多条路径通往目标IP地址。那路由器收到数据后,如何知道哪个端口能通往目标地址呢?如果多个端口都可通往目标地址,又如何选择用哪个端口转发才是最优路径呢?依据的就是路由表。路由表就是路由器的灵魂

    2022年9月25日
    4
  • FZU2127:养鸡场

    FZU2127:养鸡场

    2022年1月14日
    41
  • Django(57)Generic类视图[通俗易懂]

    Django(57)Generic类视图[通俗易懂]前言上篇我们通过mixin可以非常方便的实现一些CURD操作。实际上针对这些mixin,DRF还进一步的进行了封装,放到generics下。有以下generic类视图:generics.ListA

    2022年7月29日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号