达梦数据库除法保留⼩数
⼀  达梦数据库在默认情况下,两数相除,结果只保留整数
例如:三除以⼆
保留⼩数两位,结果仍然是1
⼆ 达梦数据库需要打开CALC_AS_DECIMAL参数
通过查DBA⼿册,发现与CALC_AS_DECIMAL参数有关。该参数为静态参数,有3个取值:0,1,2,
默认为0。各个值含义如下:0:默认值,表⽰整数类型的除法、整数与字符或BINARY串的所有四则运算,结果都处理成整数;
1:表⽰整数类型的除法全部转换为DEC(0,0)处理;
2:表⽰将整数与字符或BINARY串的所有四则运算都转换为 DEC(0,0)处理
设置CALC_AS_DECIMAL参数值为1
SQL> sp_set_para_value(2,'CALC_AS_DECIMAL',1);
重启数据库⽣效
select para_name,para_value from v$dm_ini where para_name='CALC_AS_DECIMAL';
⾏号      PARA_NAME      PARA_VALUE
---------- --------------- ----------
1          CALC_AS_DECIMAL 1
1 直接相除结果
2 保留两位⼩数
3 四舍五⼊取整数
4 不四舍五⼊取整数
bigdecimal除法保留小数