calculate dollars to millions返回整数

mqkwyuun  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(247)

我试图计算美元金额(在分贝十进制(15,0)不为空)除以百万,但结果我只得到整数金额。
期望结果:

  1. AMOUNT AMOUNT IN MIL
  2. 123000 0.1
  3. 1123000 1.123

我有这个,但它只返回0,1。。。

  1. SELECT ... AMOUNT / 1000000 AS "AMOUNT IN MIL" FROM ....
pftdvrlh

pftdvrlh1#

在计算之前,尝试将数据类型更改为6个小数位数:

  1. cast(amount as decimal(28,6)) / 1000000
a0zr77ik

a0zr77ik2#

你应该熟悉这种算术运算的规则。请参阅这篇文章。
简要地:
int/int=int
dec(p,s)/dec(p',s')=dec(31,31-p+s-s')
所以,如果你想得到int/int上的dec(31,x),你可以显式地将一个分子转换成dec(31-x)。
在您的情况下(x=6):

  1. > db2 describe dec(1, 25)/1000000
  2. Column Information
  3. Number of columns: 1
  4. SQL type Type length Column name Name length
  5. -------------------- ----------- ------------------------------ -----------
  6. 484 DECIMAL 31, 6 1 1

相关问题