oracle数据库一个汉字占几个字节

oracle数据库一个汉字占几个字节***和数据库的编码有关系***1、数据库编码查询sql:1)、SELECTvalue$FROMsys.props$WHEREname=’NLS_CHARACTERSET’;ZHS16GBK:一个汉字占用2个字节AL32UTF8:一个汉字占用3个字节2)、selectuserenv…

大家好,欢迎来到IT知识分享网。oracle数据库一个汉字占几个字节

***和数据库的编码有关系***

1、数据库编码查询sql:

      1)、SELECT value$ FROM sys.props$ WHERE name = ‘NLS_CHARACTERSET’ ;

              ZHS16GBK一个汉字占用2个字节

              AL32UTF8一个汉字占用3个字节

      2)、select userenv(‘language’) from dual;

              AMERICAN_AMERICA.ZHS16GBK:一个汉字占用2个字节

              AMERICAN_AMERICA.AL32UTF8一个汉字占用3个字节

2、查询占用字符数:

              select length(‘中华as12’) from dual       –4(1+1+1+1+1+1)

           汉字、字母、数字:各占1字符

3、查询占用字节数:

              select lengthb(‘中华as12’) from dual       –8(2+2+1+1+1+1)

            汉字:2字节/3字节;字母:1字节; 数字:1字节

注:上述varchar2肯定是适用的(因为其数据库设置长度就是以字节为单位的),别的字段类型待验证,因为类似nvarchar2这样的字段,数据库中设置的长度本身就是以字符为单位的,所以并不能用数据库字段长度直接套用上述计算。

4、追加一个才看到的点,用全角方式输入的字母(asd)、数字(123)的占用字节数和半角方式输入的字母(asd)、数字(123)是不一样的,以 ZHS16GBK 编码的数据库为例,半角的字母数字的字节数为1,但是全角输入的则分别都是占用2个字节。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/22580.html

(0)
上一篇 2023-12-28 19:15
下一篇 2023-12-31 21:00

相关推荐

发表回复

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

关注微信