一个字符占用多少个字节,是由当前Oracle数据库系统采用的字符集来决定的。

查看当前Oracle数据库系统采用的字符集:

SQL> select * from nls_database_parameters;

字符集

NLS_CHARACTERSET是数据库字符集

NLS_NCHAR_CHARACTERSET是国家字符集

CHAR,VARCHAR2是按照数据库字符集来存储数据。

NCHAR,NVARCHAR2是按照国家字符集存储数据的。

SQL> select userenv('language') from dual;

dual

如果在定义类型时,不指定单位,则默认是按byte,即以字节为单位的。

一般情况下,

数据库的NLS_CHARACTERSET 为AL32UTF8或UTF8,即一个汉字占用三到四个字节。

SQL>select dump('汉') from dual;

UTF8

如果NLS_CHARACTERSET为ZHS16GBK,则一个字符占用两个字节

Oracle的数据类型的长度单位是字节。后面会有详细解说。

最后修改:2023 年 11 月 24 日
如果觉得我的文章对你有用,请随意赞赏