CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
取值:1、Y表示是,0、N表示否。默认值为0。
一、
SQL> select sf_get_unicode_flag();
行号 SF_GET_UNICODE_FLAG()
---------- ---------------------
1 0
已用时间: 3.290(毫秒). 执行号:501.
SQL> select sf_get_length_in_char();
行号 SF_GET_LENGTH_IN_CHAR()
---------- -----------------------
1 0
已用时间: 0.677(毫秒). 执行号:702.
SQL> create table test (c1 varchar(10));
操作已执行
已用时间: 15.322(毫秒). 执行号:703.
SQL> insert into test values('AAAAAAAAAA');
影响行数 1
已用时间: 0.647(毫秒). 执行号:704.
SQL> insert into test values('AAAAAAAAAAB');
insert into test values('AAAAAAAAAAB');
[-6169]:列[C1]长度超出定义.
已用时间: 0.501(毫秒). 执行号:0.
SQL> insert into test values('达达达达达');
影响行数 1
已用时间: 0.984(毫秒). 执行号:801.
SQL> insert into test values('达达达达达梦');
insert into test values('达达达达达梦');
[-6169]:列[C1]长度超出定义.
已用时间: 0.895(毫秒). 执行号:0.
二、
SQL> select sf_get_unicode_flag();
行号 SF_GET_UNICODE_FLAG()
---------- ---------------------
1 0
已用时间: 29.612(毫秒). 执行号:56300.
SQL> select sf_get_length_in_char();
行号 SF_GET_LENGTH_IN_CHAR()
---------- -----------------------
1 1
已用时间: 0.812(毫秒). 执行号:56301.
SQL> create table test (c1 varchar(10));
操作已执行
已用时间: 30.541(毫秒). 执行号:56302.
SQL> insert into test values('AAAAAAAAAAAAAAAAAAAA');
影响行数 1
已用时间: 2.232(毫秒). 执行号:56303.
SQL> insert into test values('AAAAAAAAAAAAAAAAAAAAB');
insert into test values('AAAAAAAAAAAAAAAAAAAAB');
[-6169]:列[C1]长度超出定义.
已用时间: 6.045(毫秒). 执行号:0.
SQL> insert into test values('达达达达达达达达达达');
影响行数 1
已用时间: 13.634(毫秒). 执行号:56305.
SQL> insert into test values('达达达达达达达达达达梦');
insert into test values('达达达达达达达达达达梦');
[-6169]:列[C1]长度超出定义.
已用时间: 0.537(毫秒). 执行号:0.
SQL> insert into test values('达达达达达达达达达达M');
insert into test values('达达达达达达达达达达M');
[-6169]:列[C1]长度超出定义.
已用时间: 0.832(毫秒). 执行号:0.
三、
SQL> select sf_get_unicode_flag();
行号 SF_GET_UNICODE_FLAG()
---------- ---------------------
1 1
已用时间: 23.984(毫秒). 执行号:56300.
SQL> select sf_get_length_in_char();
行号 SF_GET_LENGTH_IN_CHAR()
---------- -----------------------
1 0
已用时间: 0.541(毫秒). 执行号:56301.
SQL> insert into test values('AAAAAAAAAA');
影响行数 1
已用时间: 5.309(毫秒). 执行号:56303.
SQL> insert into test values('AAAAAAAAAAB');
insert into test values('AAAAAAAAAAB');
[-6169]:列[C1]长度超出定义.
已用时间: 2.906(毫秒). 执行号:0.
SQL> insert into test values('达达达达达');
insert into test values('达达达达达');
[-6169]:列[C1]长度超出定义.
已用时间: 0.591(毫秒). 执行号:0.
SQL> insert into test values('达达达达');
insert into test values('达达达达');
[-6169]:列[C1]长度超出定义.
已用时间: 0.549(毫秒). 执行号:0.
SQL> insert into test values('达达达M');
影响行数 1
已用时间: 0.802(毫秒). 执行号:56308.
SQL> insert into test values('达达达MM');
insert into test values('达达达MM');
[-6169]:列[C1]长度超出定义.
已用时间: 0.486(毫秒). 执行号:0.
四、
SQL> select sf_get_unicode_flag();
行号 SF_GET_UNICODE_FLAG()
---------- ---------------------
1 1
已用时间: 7.752(毫秒). 执行号:56300.
SQL> select sf_get_length_in_char();
行号 SF_GET_LENGTH_IN_CHAR()
---------- -----------------------
1 1
已用时间: 0.753(毫秒). 执行号:56301.
SQL> create table test (c1 varchar(10));
操作已执行
已用时间: 27.375(毫秒). 执行号:56302.
SQL> insert into test values('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA');
影响行数 1
已用时间: 0.722(毫秒). 执行号:56303.
SQL> insert into test values('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB');
insert into test values('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB');
[-6169]:列[C1]长度超出定义.
已用时间: 5.001(毫秒). 执行号:0.
SQL> insert into test(c1) values('达达达达达达达达达达达达达达');
insert into test(c1) values('达达达达达达达达达达达达达达');
[-6169]:列[C1]长度超出定义.
已用时间: 0.603(毫秒). 执行号:0.
SQL> insert into test(c1) values('达达达达达达达达达达达达达M');
影响行数 1
已用时间: 0.520(毫秒). 执行号:56306.
SQL> insert into test(c1) values('达达达达达达达达达达达达达MM');
insert into test(c1) values('达达达达达达达达达达达达达MM');
[-6169]:列[C1]长度超出定义.
已用时间: 0.444(毫秒). 执行号:0.
通过上述测试 我们可以总结:
1、参数:UNICODE_FLAG=0,LENGTH_IN_CHAR=0 。VARCHAR(10)时,英文存储个数10,中文存储个数5,字节数10,中文占2字节。
2、参数:UNICODE_FLAG=0,LENGTH_IN_CHAR=1 。VARCHAR(10)时,英文存储个数20,中文存储个数10,字节数20,中文占2字节。
3、参数:UNICODE_FLAG=1,LENGTH_IN_CHAR=0 。VARCHAR(10)时,英文存储个数10,中文存储个数3,字节数10,中文占3字节。
4、参数:UNICODE_FLAG=1,LENGTH_IN_CHAR=1 。VARCHAR(10)时,英文存储个数40,中文存储个数13,字节数40,中文占3字节。