Oracle定义varchar2()类型存储汉字的长度问题

摘要:
varchar2的最大值是4000字节,因此它取决于您的oracle字符集:如果字符集是16位编码的ZHS16GBK,则每个字符都是16位2字节,因此可以容纳2000个字符。例如,varchar表示字段类型为varchar2,长度为50。它可以存储50字节字符,如字母和数字,以及25个双字节字符,例如汉字。不同之处在于,如果输入不足,则会填充空格。

varchar2最大是4000字节,那么就看你的oracle字符集:(select userenv('language') from dual;)
如果字符集是16位编码的,ZHS16GBK,那么每个字符16位,2字节,所以可以容纳2000字符。
如果是32位编码的字符集,那么只能存储 1000个字符。

例如:
varchar(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。不同的是,若输入的不足,则以空格填充。
varchar2(50) 表示该字段类型为varchar2类型,长度为50,可以存单字节字符50个,如字母、数字等,可以存储双字节字符25个,如汉字。
nvarchar2(50)表示该字段类型为nvarchar2,长度为50,不论英文,数字,中文都能存50个。

免责声明:文章转载自《Oracle定义varchar2()类型存储汉字的长度问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PG数据库常用命令IP和网络互联下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JS编解码与Java编解码的对应关系

  最近前段在导出数据时会遇到“illegal character”的异常错误,结果发现是在请求地址中请求参数包含了空白字符(其编码为%C2%A0)或者是空格字符(其编码为%20),之前对空格字符情况是做了规避处理,而这次又出现了空白字符,要是后续还有其它特殊字符呢?那如何是好?难道每次遇到这些特使字符就在后端做特殊处理?这样显然不合适。既然后端对请求地址...

单字节字符集,多字节字符集,Unicode

我们在这里介绍一下字符类型。这里有3种编码模式对应3种字符类型。 第一种编码类型是单子节字符集(single-byte   character   set   or   SBCS)。在这种编码模式下,所有的字符都只用一个字节表示。ASCII是SBCS。一个字节表示的0用来标志SBCS字符串的结束。   第二种编码模式是多字节字符集(multi-byte  ...

Oracle 编写存储过程并设置定时执行

Oracle 版本:11g PL/SQL 版本:11.0.3.1770 1.如果编写单个存储过程,则直接在procedure新建并编写;如果需要写多个同类功能的存储过程,为了方便管理,可以现在package中定义,然后在package bodies 中编写过程体,如下图所示: 1.1 编写单个procedure 1.1.1右键procedure,新建——...

oracle 查询字段备注

select    A.column_name 字段名,B.comments 备注from    user_tab_columns A,user_col_comments Bwhere    A.Table_Name = B.Table_Name    and A.Column_Name = B.Column_Name    and A.Table_Nam...

在Excel中输入特殊字符

  使用标准的计算机键盘你可以输入大约94种不同的字符,包括字母、数字和其它一些功能符号。但是我们在实际应用中会使用很多其它的字符,这些字符都不能通过标准的US键盘直接输入,例如标准字体Arial中就有大约200种不同的字符可以使用,包括英镑符号£,欧元符号€,版权符号©等。本文描述了如何在Excel中输入这些特殊字符。 使用键盘输入字符   如果你了解每...

Linux 字符集的查看及修改

一·查看字符集 字符集在系统中体现形式是一个环境变量,以CentOS6.5为例,其查看当前终端使用字符集的方式可以有以下几种方式: 第一种: [root@Testa-www tmp]# echo $LANG zh_CN.UTF-8 第二种: [root@Testa-www ~]# env |grep LANG LANG=zh_CN.UTF-8 第三种: [...