DB2 SQL-根据值定制小数点

时间:2019-03-14 21:03:34

标签: sql db2 decimal

我想用自定义小数点掩盖小数字段。这是我要做什么的一个例子。

----------------------------------------------
-fieldName----fieldValue----result after mask-
----------------------------------------------
 505          2             5.05
 76812        5             .76812
 8185         3             8.185

所有这些列都存储为INTDEC,不带小数点。

也许DB2FORMAT() SqlServer函数相似?这掩盖了价值,并不能完全满足我的要求,但这仍然是一个开始。

谢谢

2 个答案:

答案 0 :(得分:1)

数学解决方案怎么样?

 cast(fieldName as decimal(12,6)) / power(10, fieldvalue)

强制类型转换只是为了确保它是一个十进制字段(定义必须足以容纳您的数据)

答案 1 :(得分:1)

使用内置的数学函数并除以10的幂。

CAST(fieldName AS DOUBLE) / POWER(10, fieldValue)

如果由于数字太大而以这种方式存储这些数字,则可以将它们转换为VARCHAR,然后可以使用SUBSTR()