一  达梦数据库在默认情况下,两数相除,结果只保留整数

例如:三除以二

 保留小数两位,结果仍然是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 不四舍五入取整数

 更多资讯请上达梦技术社区了解:https://eco.dameng.com

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐