当前位置:首页 > 编程笔记 > 正文
已解决

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

来自网友在路上 195895提问 提问时间:2023-11-23 23:30:24阅读次数: 95

最佳答案 问答题库958位专家为你答疑解惑

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

  • 环境介绍
  • 1 BLANK_PAD_MODE=0
    • 1.1 初始化数据库
    • 1.2 创建测试表 T0
  • 2 BLANK_PAD_MODE=1
    • 2.1 初始化数据库
    • 2.2 创建测试表 T1
  • 3 BLANK_PAD_MODE只对字段varchar类型生效
    • 3.1 BLANK_PAD_MODE 对char 类型对比无效
    • 3.2 在两个数据库分别创建表TCHAR - 结果相同
  • 4 SPACE_COMPARE_MODE=1
    • 4.1 执行sql语句修改
  • 5 达梦数据库学习使用列表

环境介绍

CPUX86OSLinuxDM81-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 达梦数据库学习使用列表

  • 达梦数据库学习使用列表 - - 点击跳转
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"字符串结尾空格比较相关参数BLANK_PAD_MODE(DM8:达梦数据库)":http://eshow365.cn/6-42076-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!