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

如何在Jasper Studio中使用MySQL查询从布尔值获取字符串值,mysql,jasper-reports,Mysql,Jasper Reports,我有一个SQL查询来从数据库表中获取结果。当我在Jasper Studio中运行这个查询时,它应该会给我带来以下信息 Nocte&Mane是表中的布尔型列。如果Nocte列为true,则它可能会显示为字符串(“Nocte”),这对于mane来说应该是相同的 SQL查询 select * from medication where $X{IN,idmedication,list} order by `LastUpdated` desc 这是我在Jasper report中使用的查询,idmedi

我有一个SQL查询来从数据库表中获取结果。当我在Jasper Studio中运行这个查询时,它应该会给我带来以下信息

Nocte
&
Mane
是表中的布尔型列。如果
Nocte
列为
true
,则它可能会显示为字符串(“Nocte”),这对于
mane
来说应该是相同的

SQL查询

select * from medication where $X{IN,idmedication,list} order by `LastUpdated` desc
这是我在Jasper report中使用的查询,
idmedicing
list
是参数
LastUpdate
是一个
时间戳
。此
列表
包括
整数
值,它们是
ids


在Jasper Studio中执行上述任务有什么想法吗?

目前我可以想到两种方法:

  • 在设计报告时使用表达式,它可能类似于
    ($F{Nocte}?“Nocte”:“其他东西”)
  • 修改查询,使其返回
    varchar
    ,而不是
    boolean
    。例如:

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

  • 目前我可以想到两种方法:

  • 在设计报告时使用表达式,它可能类似于
    ($F{Nocte}?“Nocte”:“其他东西”)
  • 修改查询,使其返回
    varchar
    ,而不是
    boolean
    。例如:

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

  • 解决方案类似于贝娄

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

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

    解决方案类似于贝娄

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

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

    实际上,我应该使用mysql查询。我怎么能同时使用它们呢?你不必同时使用它们,因为它们都有相同的用途。如果您修改查询,那么它将返回一个“varchar”(在报告中是一个“字符串”),您可以直接在文本字段中显示它(在Jasper报告中)。@TurikMirash,您好,我修改了您的帖子,删除==true(不需要,因为布尔值并添加了外部(),因此,如果在字符串连接中使用,它将被识别为表达式。如果不喜欢,可以回滚it@PetterFriberg,谢谢!不需要回滚,您的更好。实际上我应该使用我的mysql查询。我如何可以同时使用这两个?您不必同时使用这两个,因为它们都有相同的用途。如果您修改查询,然后它将返回一个“varchar”(在报告中是一个“字符串”),您可以直接在文本字段中显示它(在Jasper报告中)。@TurikMirash,您好,我修改了您的帖子,删除了==true(不需要,因为布尔值并添加了外部(),因此,如果在字符串连接中使用,它将被识别为表达式。如果不喜欢,可以回滚it@PetterFriberg,谢谢!不需要回滚,您的更好。如果您喜欢在查询中执行,如果您喜欢在查询中执行