向右或十进制添加零

时间:2014-04-04 23:27:26

标签: sql oracle-sqldeveloper

我有这样的数字

17.23
3.4
22

在我的数据库中。我想将它们显示为17.23,3.40和22.00。我尝试使用Round(my_column, 2),但它没有添加所需的零。现在我在应用google foo To_Char(my_column, '999G999D00')后有了这个。有没有办法做到这一点,仍然将输出保留为数字而不是varchar。

2 个答案:

答案 0 :(得分:0)

您应该将它们声明为NUMBER(*,2)或将它们转换为此类型。

答案 1 :(得分:0)

  1. 子串,直到找到'。'

  2. 右键填充'。'后的字符串。 在oracle中,您可以使用RPAD函数。

    RPAD('4',2,['0']) - > '40'

  3. 连接

  4. 例: SELECT SUBSTR('13 .4',0,INSTR('13 .4','。'))|| RPAD(SUBSTR('13 .4',INSTR('13 .4','。')+ 1,LENGTH('13 .4')),2,'0')AS输出   来自双重