0

我有一个 oracle 报告,它显示一组值,它可以生成为 pdf 和 csv 格式。我必须确保这些值始终显示最多 3 位小数。那是:

0.1  --> 0.100
0.01 --> 0.010
0    --> 0.000

Excel 不考虑训练零点,因此我使用以下代码使 excel 显示所有 3 位小数:

select '="'||to_char(value,'90.999')||'"' from table1; 
--The column is declared as NUMBER(10,3) in the table

现在该数字根据需要显示在 excel 中,但在 pdf 格式中显示为:=“0.000”

谁能告诉我如何使它在 pdf 和 csv 格式中保持一致?

4

2 回答 2

1

您可以在运行时评估报告的格式参数,并使用 DECODE 语句或 CASE 语句来确定列的输出格式/值。

我认为这将实现您的目标,即。对 csv 或 pdf 输出使用相同查询的单个结构化报告。

于 2012-08-10T10:31:43.430 回答
-2

在我的项目中,我尝试了以下方式,

          IF :DESFORMAT='SPREADSHEET' THEN
                   :CP_2:= '="'||:cmdt_grp_cd||'"';
           ELSE
                   :CP_2:=:cmdt_grp_cd;
           END IF;
于 2015-08-21T05:03:47.087 回答