部署达梦数据库,使用dmini命令进行初始化时有许多可选参数,这些参数可以帮我们按照需求配置自己的数据库。 其中有一项CASE_SENSITIVE参数,今天被客户问到,所以进行了一些了解。

CASE_SENSITIVE :指定对数据库中的字符比较时大小写是否敏感 值Y或1为敏感,N或0为不敏感。

--查询大小写敏感

select * from v$option where PARA_NAME='GLOBAL_STR_CASE_SENSITIVE';

--创建一个表并插入数据,表名t1和字段名id都用小写,并且分别插入大写和小写的a作为数据

create table t1(id varchar2);

insert into t1 values('a');

insert into t1 values('A');

commit;

当设置CASE_SENSITIVE=1即大小写敏感时

SQL> select * from v$option where PARA_NAME='GLOBAL_STR_CASE_SENSITIVE';

行号 PARA_NAME PARA_VALUE

---------- ------------------------- ----------

1 GLOBAL_STR_CASE_SENSITIVE 1

SQL> select * from v$option where PARA_NAME='global_str_case_sensitive';

未选定行

select table_name from user_tables;

行号 TABLE_NAME

---------- ----------

1 T1

SQL> select id,id name from t1 where id='a';

行号 ID NAME

---------- -- ----

1 a a

表名,字段名,字段别名都自动转成了大写 且查询表中的数据时严格区分大小写。

当设置CASE_SENSITIVE=0即大小写不敏感时

SQL> select * from v$option where PARA_NAME='GLOBAL_STR_CASE_SENSITIVE';

行号 PARA_NAME PARA_VALUE

---------- ------------------------- ----------

1 GLOBAL_STR_CASE_SENSITIVE 0

SQL> select * from v$option where PARA_NAME='global_str_case_sensitive';

行号 PARA_NAME PARA_VALUE

---------- ------------------------- ----------

1 GLOBAL_STR_CASE_SENSITIVE 0

SQL> select table_name from user_tables;

行号 table_name

---------- ----------

1 t1

SQL> select id,id name from t1 where id='a';

行号 id name

---------- -- ----

1 a a

2 A A

表名,字段名,字段别名不会自动转成大写 且查询表中的数据时不区分大小写。

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: