首页 > 解决方案 > 在 Sql 中使用 ,00 进行列 valorize

问题描述

我对 Oracle Db 中的一列有问题,该列使用 ,00 进行 valorize,并且它引用十进制数,我无法修改该列,但在查询中,该列必须像 0,00 一样进行 valorize。任何人都可以帮助我!非常感谢!

列示例:

列 ,00 的示例

标签: oracleoracle-sqldeveloper

解决方案


据我了解这个问题,它是关于TO_CHAR您想要使用的功能和适当的格式掩码。这里有几个例子:

SQL> with test (valorize) as
  2    (select 0     from dual union all
  3     select 10    from dual union all
  4     select 5.2   from dual union all
  5     select 0.1   from dual union all
  6     select 2.25  from dual
  7    )
  8  select valorize,
  9         to_char(valorize, '999D99') res1,
 10         to_char(valorize, '000D00') res2,
 11         to_char(valorize, '990D00') res3,
 12         to_char(valorize, 'fm990D00') res3
 13  from test;

  VALORIZE RES1    RES2    RES3    RES3
---------- ------- ------- ------- -------
         0     ,00  000,00    0,00 0,00
        10   10,00  010,00   10,00 10,00
       5,2    5,20  005,20    5,20 5,20
        ,1     ,10  000,10    0,10 0,10
      2,25    2,25  002,25    2,25 2,25

SQL>

更多格式模型;看一看。


推荐阅读