达梦8 字符串结尾空格参数SPACE_COMPARE_MODE和BLANK_PAD_MODE参数的区别

创建数据库时有一个选项BLANK_PAD_MODE,官方文档描述如下:

该参数一旦创建不可修改。

另外还有一个可以重启生效的静态参数SPACE_COMPARE_MODE,官方文档描述如下:

 在实际使用中容易引起混淆,解释如下:

BLANK_PAD_MODE=1代表和ORACLE一样,在查询时识别字符串的尾部空格。

BLANK_PAD_MODE是库安装选项,它的级别最高。

这时候无论SPACE_COMPARE_MODE参数是0还是1,查询语句中都会精确比较字符串地后缀空格。

BLANK_PAD_MODE=0代表达梦模式,即有可能会识别字符串尾部空格。

是否识别,还需要通过SPACE_COMPARE_MODE参数决定。

SPACE_COMPARE_MODE=0:

查询语句将忽略字符串的后缀空格。

SPACE_COMPARE_MODE=1:

查询语句中会比较字符串后缀空格。

达梦数据库默认安装选项BLANK_PAD_MODE和SPACE_COMPARE_MODE参数均为0,即:默认查询忽略字符串尾部的空格。

下面进行测试验证参数的设置效果

创建测试表

create table t1(a varchar(10),b varchar(10),c varchar(10));

测试如下

如上测试可见:

BLANK_PAD_MODE为0
SPACE_COMPARE_MODE为0
查询时分别忽略条件和字段尾部的空格。

其它三种组合:
BLANK_PAD_MODE为0
SPACE_COMPARE_MODE为1

BLANK_PAD_MODE为1
SPACE_COMPARE_MODE为1

BLANK_PAD_MODE为1
SPACE_COMPARE_MODE为0
查询时不忽略条件和字段尾部的空格,进行精确匹配。

插入字符串时如果带入了空格,无论何种设置都不会忽略,空格如实写入数据库。

简单记忆方法:BLANK_PAD_MODE与SPACE_COMPARE_MODE之和为0,查询语句忽略尾部空格。BLANK_PAD_MODE与SPACE_COMPARE_MODE之和为0,查询语句不忽略尾部空格。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值