我想用自定义小数点掩盖小数字段。这是我要做什么的一个例子。
----------------------------------------------
-fieldName----fieldValue----result after mask-
----------------------------------------------
505 2 5.05
76812 5 .76812
8185 3 8.185
所有这些列都存储为INT
或DEC
,不带小数点。
也许DB2
与FORMAT()
SqlServer
函数相似?这掩盖了价值,并不能完全满足我的要求,但这仍然是一个开始。
谢谢
答案 0 :(得分:1)
数学解决方案怎么样?
cast(fieldName as decimal(12,6)) / power(10, fieldvalue)
强制类型转换只是为了确保它是一个十进制字段(定义必须足以容纳您的数据)
答案 1 :(得分:1)
使用内置的数学函数并除以10的幂。
CAST(fieldName AS DOUBLE) / POWER(10, fieldValue)
如果由于数字太大而以这种方式存储这些数字,则可以将它们转换为VARCHAR
,然后可以使用SUBSTR()
。