首页 > 解决方案 > DB2 删除尾随 0 和

问题描述

我有 BIGINT 喜欢

5500
10800
700
10450
10000

在选择时,我需要将它们除以 10000,然后我想删除所有以 0 结尾的小数。所以期望的输出应该是

0.55
1.08
0.07
1.045
1

我试过了

rtrim (rtrim (cast (cast ((cast (column_A as float) / 10000) as decimal(31,4)) as varchar(32000)), '0'), '.') 

首先删除尾随的“0”,然后删除尾随的“。” 但这就是我得到的

.55
1.08
.07
1.045
1

我应该怎么做才能将第一个 0 保留为 0.55 和 0.07?我以为 rtrim 只是从右边删除它们......我也尝试过使用

TRIM(TRAILING '.' FROM TRIM(TRAILING '0'

而不是 RTRIM 但没有任何变化。

我在 Windows 上使用 DB2 v.10.5 和 IBM Data Studio 4.1.2。

标签: db2

解决方案


cast (0.1 as varchar (x))回报.1,不是0.1
cast (decfloat (0.1) as varchar (x))回报0.1
所以尝试以下方法:

cast (decfloat (i) / 10000 as varchar (20))

推荐阅读