当前位置: 首页 > news >正文

达梦CASE_SENSITIVE参数解析

1. 参数含义

标识符大小写敏感,默认值为 Y。

  • 当大小写敏感时,小写的标识符应用双引号括起,否则被转换为大写;
  • 当大小写不敏感时,系统不自动转换标识符的大小写,在标识符比较时也不区分大小写。

CASE_SENSITIVE大小敏感(Y),可选值:Y/N,1/0。该参数属于初始化参数,在创建实例时候定下来的,在参数配置文件dm.ini里没有记录。
大小写敏感通常涉及到2种对象:

  • 对象名
  • 数据

2. 环境描述

在这里插入图片描述

3. 创建实例

3.1. 创建大小写敏感实例lei1

[dmdba@lei3 ~]$ dminit  PATH=/dmdba/data DB_NAME=lei1 instance_name=lei1 SYSDBA_PWD=Dameng123 PORT_NUM=5236 CASE_SENSITIVE=Y
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /dmdba/data/lei1/lei101.loglog file path: /dmdba/data/lei1/lei102.logwrite to dir [/dmdba/data/lei1].
create dm database success. 2024-08-27 10:07:20

3.2. 创建大小写不敏感实例lei2

[dmdba@lei3 ~]$ dminit  PATH=/dmdba/data DB_NAME=lei2 instance_name=lei2 SYSDBA_PWD=Dameng123 PORT_NUM=5237 CASE_SENSITIVE=N
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /dmdba/data/lei2/lei201.loglog file path: /dmdba/data/lei2/lei202.logwrite to dir [/dmdba/data/lei2].
create dm database success. 2024-08-27 10:09:37

4. 测试CASE_SENSITIVE

4.1. 测试大小写敏感实例lei1

4.1.1. 测试表名

[dmdba@lei3 ~]$ disql sysdba/Dameng123@192.168.0.3:5236服务器[192.168.0.3:5236]:处于普通打开状态
登录使用时间 : 3.958(ms)
disql V8
SQL> select name,instance_name,status$ from v$instance;行号     NAME INSTANCE_NAME STATUS$
---------- ---- ------------- -------
1          LEI1 LEI1          OPEN已用时间: 0.789(毫秒). 执行号:64701.
SQL> select value,sys_value from v$parameter where name='GLOBAL_STR_CASE_SENSITIVE';行号     VALUE SYS_VALUE
---------- ----- ---------
1          1     1已用时间: 4.583(毫秒). 执行号:64702.
SQL> SELECT CASE_SENSITIVE();行号     CASE_SENSITIVE()
---------- ----------------
1          1已用时间: 0.626(毫秒). 执行号:64703.
SQL> CREATE TABLE lei(name varchar(10));
操作已执行
已用时间: 2.374(毫秒). 执行号:64704.
SQL> SELECT * FROM lei;
未选定行已用时间: 0.741(毫秒). 执行号:64705.
SQL> SELECT * FROM LEI;
未选定行已用时间: 0.562(毫秒). 执行号:64706.
SQL> SELECT * FROM "lei";
SELECT * FROM "lei";
第1 行附近出现错误[-2106]:无效的表或视图名[lei].
已用时间: 0.414(毫秒). 执行号:0.
SQL> SELECT * FROM "LEI";
未选定行已用时间: 0.575(毫秒). 执行号:64707.

4.1.2. 测试表数据

SQL> insert into lei values('a');
影响行数 1已用时间: 0.817(毫秒). 执行号:64710.
SQL> commit;
操作已执行
已用时间: 0.725(毫秒). 执行号:64711.
SQL> insert into lei values('A');
影响行数 1已用时间: 0.500(毫秒). 执行号:64712.
SQL> commit;
操作已执行
已用时间: 0.795(毫秒). 执行号:64713.
SQL> SELECT COUNT(*) FROM lei WHERE name='a';行号     COUNT(*)            
---------- --------------------
1          1已用时间: 0.874(毫秒). 执行号:64714.
SQL> SELECT COUNT(*) FROM lei WHERE name='A';行号     COUNT(*)            
---------- --------------------
1          1已用时间: 0.724(毫秒). 执行号:64715.
SQL> select * from lei;行号     NAME
---------- ----
1          a
2          A已用时间: 0.681(毫秒). 执行号:64716.

4.2. 测试大小写不敏感实例lei2

4.2.1. 测试表名

[dmdba@lei3 ~]$ disql sysdba/Dameng123@192.168.0.3:5237服务器[192.168.0.3:5237]:处于普通打开状态
登录使用时间 : 4.253(ms)
disql V8
SQL> select name,instance_name,status$ from v$instance;行号     name instance_name status$
---------- ---- ------------- -------
1          LEI2 LEI2          OPEN已用时间: 0.740(毫秒). 执行号:64701.
SQL> select value,sys_value from v$parameter where name='GLOBAL_STR_CASE_SENSITIVE';行号     VALUE sys_value
---------- ----- ---------
1          0     0已用时间: 4.941(毫秒). 执行号:64702.
SQL> SELECT CASE_SENSITIVE();行号     CASE_SENSITIVE()
---------- ----------------
1          0已用时间: 0.658(毫秒). 执行号:64703.
SQL> CREATE TABLE lei(name varchar(10));
操作已执行
已用时间: 2.445(毫秒). 执行号:64704.
SQL> SELECT * FROM lei;
未选定行已用时间: 0.775(毫秒). 执行号:64705.
SQL> SELECT * FROM LEI;
未选定行已用时间: 0.650(毫秒). 执行号:64707.
SQL> SELECT * FROM "lei";
未选定行已用时间: 0.556(毫秒). 执行号:64708.
SQL> SELECT * FROM "LEI";
未选定行已用时间: 0.266(毫秒). 执行号:64709.

4.2.2. 测试表数据

SQL> insert into lei values('a');
影响行数 1已用时间: 0.699(毫秒). 执行号:64710.
SQL> insert into lei values('A');
影响行数 1已用时间: 0.476(毫秒). 执行号:64711.
SQL> commit;
操作已执行
已用时间: 0.687(毫秒). 执行号:64712.
SQL> SELECT COUNT(*) FROM lei WHERE name='a';行号     COUNT(*)            
---------- --------------------
1          2已用时间: 0.846(毫秒). 执行号:64713.
SQL> SELECT COUNT(*) FROM lei WHERE name='A';行号     COUNT(*)            
---------- --------------------
1          2已用时间: 0.869(毫秒). 执行号:64714.
SQL> select * from lei;行号     name
---------- ----
1          a
2          A已用时间: 0.661(毫秒). 执行号:64715.

5. 测试总结

1.DM数据库在默认情况下是大小写敏感的;
2.大小写不敏感的情况下,对表名称加不加双引号都可以,对查询没有影响;
3.大小写敏感的情况下,创建表名称不建议加上双引号,因为实际存储在字典中已全部转大写了,但是如果表名称里存在小写则必须加上双引号;
4.在大小写敏感情况下,是严格区分大小写的,在插入存在字母大小写的数据后,查询结果不受影响;
5.在大小写不敏感情况下,是不区分大小写的,在插入存在字母大小写的数据后查询结果会受到影响。
建议使用达梦数据库时候一定要选大小写敏感。

更多内容请参考:https://eco.dameng.com

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 7-Python基础编程之数据类型操作——列表和元组
  • cesium.js 入门到精通(7)
  • springboot013基于SpringBoot的旅游网站的设计与实现
  • 做谷歌seo,b端跟c端有什么区别吗?
  • 【笔记】CarrierConfig 解析加载的debug和日志分析
  • 高亚科技与广东海悟携手,打造全流程电子竞标管理平台!
  • 利用高德+ArcGIS优雅获取任何感兴趣的矢量边界
  • 云服务器拉取docker镜像
  • Redis学习笔记(六)——Redis的持久化
  • flink中disableChaining() 的详解
  • mfc140u.dll错误是什么情况?如何将mfc140u.dll丢失的解决方法详细分析
  • Arduino IDE离线配置第三方库文件-ESP32开发板
  • C++提高--模板(类模板/函数模板)
  • 数据库第一章:库的操作
  • linux-IO-进程-线程(相关函数)
  • 【Linux系统编程】快速查找errno错误码信息
  • 【刷算法】求1+2+3+...+n
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 2019年如何成为全栈工程师?
  • ECS应用管理最佳实践
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • magento2项目上线注意事项
  • PHP 小技巧
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 阿里研究院入选中国企业智库系统影响力榜
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 悄悄地说一个bug
  • -- 数据结构 顺序表 --Java
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 问题之ssh中Host key verification failed的解决
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​补​充​经​纬​恒​润​一​面​
  • ​数据结构之初始二叉树(3)
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #162 (Div. 2)
  • #if和#ifdef区别
  • (2)nginx 安装、启停
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (四)c52学习之旅-流水LED灯
  • (一)基于IDEA的JAVA基础10
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET Framework .NET Core与 .NET 的区别
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • @SuppressWarnings注解
  • @Transient注解
  • @开发者,一文搞懂什么是 C# 计时器!
  • [1181]linux两台服务器之间传输文件和文件夹
  • [22]. 括号生成
  • [30期] 我的学习方法
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [C#]无法获取源 https://api.nuge t.org/v3-index存储签名信息解决方法
  • [c#基础]DataTable的Select方法