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字节。