初始化实例时-设置比较字符串大小敏感-详解

DM数据库用图形初始化实例时,可勾选弃选:字符串比较大小写敏感

比较大小写敏感,就是区分大小写

比较大小写不敏感,就是不区分大小写

大小写敏感的时候,小写的标志符要用双引号" "引起来,要不然会被系统自动转化为大写

这个区分的地方有以下两点

1) 标志符,如表名, 视图名,存储过程名,表的字段名

2) 字段内容 如where address = ‘XXX’,这里的XXX就是字段内容

简单示例:

若设置为大小写不敏感,则认为abc, Abc,ABC之间是相互等价的,如建表时表名字段名大小写可随便写,查询的时候大小写随便写,也不会报错。

Create table aBc (x int, Y varchar(8));

Select X,Y FROM ABC;

设置为大小写敏感,则认为abc 和 ABC是不同的, 但要注意小写要用" "引起来

图形化:设置敏感,如图勾选,不敏感取消勾选
在这里插入图片描述
命令行 设置不敏感:(参数值Y,y,1 表示敏感,N,n,0表示敏感)

[dmdba@localhost bin]$ ./dminit PATH=/dm8/data CASE_SENSITIVE=0

敏感的实例上 做测试:

CREATE TABLE A(address varchar(8));

– 以下查询都不会报错,创建表时,小写的表名/字段名都会被转成大写,查询时也一样

SELECT address FROM A;

SELECT address FROM a;

SELECT ADDRESS FROM A;

SELECT ADDRESS FROM a;

CREATE TABLE B (“address” varchar(8));

– 以下查询报错,无效的列名[ADDRESS],因为创建表时,已确定字段名是小写

SELECT address FROM B;

SELECT ADDRESS FROM B;

SELECT "ADDRESS" FROM B;

– 给字段名加上双引号,查询成功

SELECT "address" FROM B;

CREATE TABLE C (address varchar(8));

INSERT INTO C values ('M');

INSERT INTO C values ('m');

INSERT INTO C values ('n');

–只能查到一条记录,大写M和m有区别

SELECT * FROM  C WHERE address = 'M';

CREATE TABLE “d” (address varchar(8));

– 执行失败,建表时确定表名是小写

INSERT INTO d values ('xyz');

INSERT INTO D values ('xyz');

– 执行成功,表名需加双引号

INSERT INTO "d" values ('xyz');

CREATE TABLE E (“address” varchar(8));

– 小写的字段名,插入包含小写大写数据成功

insert into E VALUES ('xYz');

– 字符串全小写,查询不到数据

select * from E where "address" = 'xyz';

– 保持和数据大小写一致,查询成功

select * from E where "address" = 'xYz';

注意:当大小写敏感时,标志符全大写还加双引号时,没有任何意义。

不敏感的实例上 做测试:

CREATE TABLE A(address varchar(8));

– 以下查询都不会报错

SELECT address FROM A;

SELECT address FROM a;

SELECT ADDRESS FROM A;

SELECT ADDRESS FROM a;

CREATE TABLE B (“address” varchar(8));

– 查询都无报错

SELECT address FROM B;

SELECT ADDRESS FROM B;

SELECT "ADDRESS" FROM B;

SELECT "address" FROM B;

CREATE TABLE C (address varchar(8));

INSERT INTO C values ('M');

INSERT INTO C values ('m');

INSERT INTO C values ('n');

–可以查到两条记录,不区分大小写,认为M和m是一样的

SELECT * FROM  C WHERE address = 'M';

在这里插入图片描述
注意:当大小写不敏感时,标志符加双引号时,也没有任何意义。

更多资讯请上达梦技术社区了解:https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值