本文主要是介绍达梦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,查询语句不忽略尾部空格。
这篇关于达梦8 字符串结尾空格参数SPACE_COMPARE_MODE和BLANK_PAD_MODE参数的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!