KingBaseV8人大金仓数据库 | 大小写敏感问题
2021-02-08 本文已影响0人
Ada54
1、查询数据库大小写是否敏感
show case_sensitive;
如果显示 on,为大小写敏感;显示 off ,为大小写不敏感。
2、大小写是否敏感,对建表和查表的影响
- 若大小写敏感
(1)建表时,表名不加引号则大小写均转为大写,小写加引号则为小写表
(2)查表时,表名不加引号而且不管大小写都会转大写去查表,小写加引号则查小写表。所以说,如果你要查小写表,需要小写表名再加上引号。
where条件也会区分大小写,当where条件为小写,则查询出来为小写;为大写则查询出来为大写;
- 若大小写不敏感
(1)建表时,表名大小写不论加不加引号,均只能存在一个,即大写小写均为一个表
(2)查表时,表名大写小写均为一个表。当使用where条件查询时,则大写与小写配置出来的数据均会查询出来;即 where = ‘Ad’ 查询出来的值有AD、ad、Ad、aD
3、大小写敏感修改
大小写敏感是在数据库安装时进行设置的,在安装时,会选择大小写敏感或者不敏感选项:
勾选case_insensitive:表示大小写不敏感。
不勾选case_insensitive:表示大小写敏感。
如果需要修改大小写敏感设置,首选重装数据库;也可以通过initdb工具对数据库实例重新初始化。
3.1 initdb工具重新初始化数据库data目录,设置大小写敏感
Windows环境:
initdb工具在安装目录\Server\bin下
step1: 备份data目录
step2: 删除data目录下文件
step3: 执行initdb初始化命令
initdb ‐E UTF‐8 ‐D data目录 ‐U用户名 ‐W密码 ‐‐case‐insensitive
图片.png
Linux环境:
参考链接:https://www.cnblogs.com/hxb2016/p/14302618.html