字符串结尾空格比较相关参数BLANK_PAD_MODE(DM8:达梦数据库)

32 篇文章 2 订阅
5 篇文章 0 订阅

环境介绍

CPUX86
OSLinux
DM81-3-12-2023.05.24-191193-20040-ENT
参数含义取值建库后是否可修改
BLANK_PAD_MODE设置字符串比较时,结尾空格填充模式是否兼容 ORACLE取值 0 或 1。0 不兼容,1 兼容。缺省为 0不可修改

1 BLANK_PAD_MODE=0

1.1 初始化数据库

./dminit path=dmdata5236 page_size=32 extent_size=32 BLANK_PAD_MODE=0

1.2 创建测试表 T0

DROP TABLE T0;
CREATE TABLE T0 (C3 VARCHAR(10));
INSERT INTO T0 (C3)VALUES('张');
INSERT INTO T0 (C3)VALUES('张  ');
COMMIT;
SELECT * FROM T0 WHERE C3='张';
/*
--查询结果
张
张  
*/
SELECT * FROM T0 WHERE C3='张  ';
/*
--查询结果
张
张  
*/
SELECT * FROM T0 WHERE C3='张          ';
/*
--查询结果
张
张  
*/

2 BLANK_PAD_MODE=1

2.1 初始化数据库

./dminit path=dmdata9555 page_size=32 extent_size=32 port_num=9555 BLANK_PAD_MODE=1

2.2 创建测试表 T1

DROP TABLE T1;
CREATE TABLE T1 (C3 VARCHAR(10));
INSERT INTO T1 (C3)VALUES('张');
INSERT INTO T1 (C3)VALUES('张  ');
COMMIT;
SELECT * FROM T1 WHERE C3='张';
/*
--查询结果
张
*/

SELECT * FROM T1 WHERE C3='张  ';
/*
--查询结果
张
*/

SELECT * FROM T1 WHERE C3='张       ';
/*
--无查询结果

*/

3 BLANK_PAD_MODE只对字段varchar类型生效

3.1 BLANK_PAD_MODE 对char 类型对比无效

3.2 在两个数据库分别创建表TCHAR - 结果相同

DROP TABLE TCHAR;
CREATE TABLE TCHAR (C3 CHAR(10));
INSERT INTO TCHAR (C3)VALUES('张');
INSERT INTO TCHAR (C3)VALUES('张  ');
COMMIT;
SELECT * FROM TCHAR WHERE C3='张';
/*
--查询结果
张        
张        
*/

SELECT * FROM TCHAR WHERE C3='张  ';
/*
--查询结果
张        
张        
*/

SELECT * FROM TCHAR WHERE C3='张        ';
/*
--查询结果
张        
张        
*/

4 SPACE_COMPARE_MODE=1

  • 创建数据库时BLANK_PAD_MODE参数若配置为0,创建数据库后不可修改,若有需求要实现相同结果,可以修dm.ini中参数SPACE_COMPARE_MODE=1,效果相同,修改后重启数据库生效
参数名缺省值属性说明
SPACE_COMPARE_MODE0静态是否在查询语句中比较字符串后缀空格。0:维持原有策略;1:进行比较

4.1 执行sql语句修改

  • SPACE_COMPARE_MODE配置为 1之后,和BLANK_PAD_MODE=1 效果一样
--若是集群环境需要使用IP连接各个数据库分别执行,最后重启数据库服务生效
SP_SET_PARA_VALUE(2, 'SPACE_COMPARE_MODE', 1);
COMMIT;

5 达梦数据库学习使用列表

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值