注册
达梦CEIL函数结果与Oracle中CEIL函数结果不同
技术分享/ 文章详情 /

达梦CEIL函数结果与Oracle中CEIL函数结果不同

### 2024/01/09 1538 2 0

问题:
近日发现在达梦数据库中执行select ceil(5/400);时返回值与在oracle数据库中执行select ceil(5/400) from dual;返回值不同。在达梦数据库中返回结果为0,而oracle库中返回结果为1。
image.png
原因:
排查发现与以下参数有关,达梦数据库默认整数相除结果都处理成整数:
dcb5823030d20ce05b5dc786174a4a5.png

解决方法:
方法一:
在库中执行该命令修改CALC_AS_DECIMAL参数值为1,然后重启数据库。

SP_SET_PARA_VALUE(2,'CALC_AS_DECIMAL',1);

修改并重启数据库后查询结果如下:
3a9fd328a23c7378b3826514f93ec26.png
方法二:
将select ceil(5/400);改写为select ceil(5.0/400);
fd38917635e5052f682870c2ea55ead.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服