达梦DM 大小写敏感CASE_SENSITIVE 详解

部署达梦数据库,使用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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值