当前位置:Gxlcms > 数据库问题 > ORACLE NLS_LENGTH_SEMANTICS 参数的用途

ORACLE NLS_LENGTH_SEMANTICS 参数的用途

时间:2021-07-01 10:21:17 帮助过:38人阅读

table tab_t(t_name varchar2(20byte)); create table tab_t(t_name varchar2(20char));

上面两条语句,唯一的不同,就是在指定列长度为20后,再指定长度的类型,类型的值不同。

2. 不指定长度类型的SQL语句

create table tab_t(t_name varchar2(20));

这条语句,在指定列的长度为20后,并未指定长度的类型,那它的类型会是什么呢,这个就是由NLS_LENGTH_SEMANTICS参数的值所决定了,该参数值可以在会话级设定。

1. 查看数据库NLS_LENGTH_SEMANTICS参数的值(这个值只有2个值可选,byte,char,默认是byte)

select * from nls_database_parameters t where t.parameter=NLS_LENGTH_SEMANTICS;

2. 查看NLS_CHARACTERSET 的值

select * from nls_database_parameters t where t.parameter=NLS_CHARACTERSET;

数据库的NLS_CHARACTERSET 为AL32UTF8,即一个汉字占用三到四个字节。如果NLS_CHARACTERSET为ZHS16GBK,则一个字符占用两个字节(1char=2byte)。

 

ORACLE NLS_LENGTH_SEMANTICS 参数的用途

标签:varchar2   完全   用两个   意义   from   ant   span   会话   sel   

人气教程排行