总结:LENGTH_IN_CHAR=1时精度在以有的基础上扩大2倍;默认值为0,以字节为单位
相关参数说明
关键字 | 说明 |
---|---|
LENGTH_IN_CHAR | VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0 |
CHARSET/UNICODE_FLAG | 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR] |
以上参数初始化后不可以修改,如需修改,请重新初始化。以上参数会影响数据库varchar类型存放的内容,如GB18030,一个字符占两个字节,如果LENGTH_IN_CHAR值为0,以字节为单位,那么varchar(5)只能存放二个汉字;如果LENGTH_IN_CHAR值为1,以字符为单位,那么可以存下5个汉字;
页大小可存储长度如下:
举例以字符为长度说明,初始化参数如下:
dminit.exe path=e:\dmdbms_190Pack4\data db_name=LENGTHINCHAR LENGTH_IN_CHAR=1 page_size=32 port_num=5237
字符集默认GB18030,端口号5237,页大小32K,以字符为单位
执行以下sql
drop table t;
create table t (name varchar2(5));
insert into t values('三');
insert into t values('三一');
insert into t values('三一三');
insert into t values('三一三一');
insert into t values('三一三一三');
insert into t values('三一三一三一');
select * from t ;
从下图可以看出,如果以字符为单位,默认会将精确度*2
数据库初始化时默认以字节为单位
举例以字符为长度说明,初始化实例脚本如下:
dminit.exe path=e:\dmdbms_190Pack4\data db_name=LENGTHINCHAR page_size=32 port_num=5237
字符集默认GB18030,端口号5237,页大小32K,LENGTH_IN_CHAR关键字不写,则默认以字节为单位
执行以下sql
drop table t;
create table t (name varchar2(5));
insert into t values('三');
insert into t values('三一');
insert into t values('三一三');
select * from t ;
从下图可以看出,varchar精度没有发生变化
文章
阅读量
获赞