如何在 Jasper Studio 中使用 MySQL 查询从布尔值中获取字符串值

How to get String value from a boolean value using MySQL query in Jasper Studio

我有一个 SQL 查询来从我的数据库 table 中获取结果。当我在 Jasper Studio 中 运行 这个查询时,它应该让我跟随。

Nocte & Mane 是 table 中的布尔型列。如果 Nocte 列是 true,则它可以显示为字符串 ("Nocte"),这对于 mane.

应该相同

SQL查询

select * from medication where $X{IN,idmedication,list} order by `LastUpdated` desc

这是我在 Jasper 报告中使用的查询,idmedicationlist 是参数。 LastUpdated 是一个 timestamp。此 list 包括 Integer 个值,即 idMedications.

Jasper Studio中的上述任务有什么想法吗?

目前我能想到两个办法:

  1. 设计报表时使用表达式,可以是($F{Nocte}?"Nocte":"something else")
  2. 修改查询,使其 returns varchar 而不是 boolean。例如:

    select case when Nocte = 1 then "Nocte" else "something else" end Nocte
    from your_table ...
    

解决方案如下所示

(
   ${your_filed_name}==true?"Nocte"":"mane"
)

希望这能回答您的问题。您可以链接条件或进入更复杂的表达式。