问题:
近日发现在达梦数据库中执行select ceil(5/400);时返回值与在oracle数据库中执行select ceil(5/400) from dual;返回值不同。在达梦数据库中返回结果为0,而oracle库中返回结果为1。
原因:
排查发现与以下参数有关,达梦数据库默认整数相除结果都处理成整数:
解决方法:
方法一:
在库中执行该命令修改CALC_AS_DECIMAL参数值为1,然后重启数据库。
SP_SET_PARA_VALUE(2,'CALC_AS_DECIMAL',1);
修改并重启数据库后查询结果如下:
方法二:
将select ceil(5/400);改写为select ceil(5.0/400);
文章
阅读量
获赞