对于if else查询,Crystal报表会自动显示舍入值而不是十进制值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于if else查询,Crystal报表会自动显示舍入值而不是十进制值相关的知识,希望对你有一定的参考价值。

我在sql server中创建了一个查询,其中包含if else条件,并使用此查询在sap crystal report中创建报告。

在我的查询中,如果条件包含“<”语句。执行查询时,我得到正确的答案(即带小数点的值),但是当到达报告时,它显示舍入值。最令人困惑的事实是,如果查询首先输入“if”子句,则报告显示舍入值,但不显示其他条件(即,如果查询首先在else条件下输入,则报告显示小数值)。

在第二次尝试中,我将“<=”置于“if”状态。这次报告显示else部分的圆形值和if部分的十进制值。 (在我的查询中没有循环,因此只要输入一次,它就会输入一次)。我想要if和else子句的Decimal值。我该怎么办?

查询:

if(var1<var2) //both variables are in float
begin
   select sum(Column1 in float datatype) as Column1 
end
else
begin
   select sum(Column2 in float datatype) as Column2 
end

在执行查询时,结果为22567.91作为列1,但在报告中显示为22568,在另一次尝试执行查询时,结果为5734.51作为列2,报告显示为5734.51。

我想要两次尝试的十进制值。

答案

select case(var1 when(var1> var2)then sum(salary2)end

来自测试组的var1,var2

- 您可以使用案例..我在sql中尝试了相同的查询,其工作正常。如果它没有显示在水晶报告中,那么你可以设置十进制属性。

以上是关于对于if else查询,Crystal报表会自动显示舍入值而不是十进制值的主要内容,如果未能解决你的问题,请参考以下文章

水晶报表 如何设置水晶报表 crystal reports 的字段自动换行

会用水晶报表crystal reports的请进

Crystal报表中的动态列

vb中怎么用crystalreport

数据库登录失败:Crystal Reports

怎样用Crystal Report从SAP做报表?