为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:达梦8
【操作系统】:Centos7
【CPU】:16
【问题描述】*:两台不同的机器上各自部署了达梦数据库,创建实例时都指定了BLANK_PAD_MODE=1,UNICODE_FLAG=0,LENGTH_IN_CHAR=1,设成compatible_mode=4再重启数据库后,发现rpad('a',10,'aa测试中文aa')得到的结果完全不同。其中一个把中文当作一个字符,另一个把中文当作两个字节,明明参数设置都是一样的,为什么会是不一样的结果呢
做个实验,在两个服务器上分别查询一下下面这个SQL,看看参数是否存在区别
select UNICODE,PARA_NAME,PARA_VALUE,rpad('a',10,'aa测试中文aa') from v$dm_ini where para_name in ('BLANK_PAD_MODE','LENGTH_IN_CHAR','COMPATIBLE_MODE');
我刚测试了一下,在COMPATIBLE_MODE为4和7时,结果为 aaa测试中文aaa,其他均为 aaa测试中