Jaspersoft域名设计器:确定应该将Y / N转换为什么

时间:2015-02-24 15:05:41

标签: sql database oracle jasper-reports jasperserver

我有一个(Oracle 11g)表,其中包含(单个字符)" Y / N"标志列。为了简单起见,想象一下我们正在谈论的是一个人物#34;表和相关列是一个"性别指标"。在不改变数据库结构的情况下,有没有办法操纵我的结果集,这样我就可以得到"男性"返回" Y"和"女性"返回" N"?我已经研究过SQL translate()和replace()函数,但不知道如何为多个规则执行此操作而不必求助于PLSQL。任何建议将不胜感激。

如果这不可能通过单一,那么要求是我在Jasper Reports中生成的域,因此任何有关如何以这种方式完成的建议也会有所帮助。

2 个答案:

答案 0 :(得分:0)

SELECT CASE WHEN Gender_Indicator = 'Y' THEN 'Male' ELSE 'Female' END AS Gender_Indicator FROM MyTable;

这可以从我所知道的内容中找到你想要的东西。

您也可以使用DECODE(Gender_Indicator, 'Y', 'Male', 'N', 'Female')

答案 1 :(得分:0)

如果您将性别指标保持为Y / N,则可以在文本字段表达式中的Jasper Reports中使用三元组来实现您的目标。

假设您的报告中有一个字段(让我们称之为genderIndicator),该字段可以包含值Y或N,然后添加一个带有以下表达式的文本字段:

$F{genderIndicator}.equals("Y") ? "Male" : "Female"