参数传递

选择年度以后,开始日期变成2025-01-01(第一天),结束日期变成2025-12-31(最后一天) 。不选年度,选择日期时也可以查询

1752197669122.png

FineReport 帆软用户Kohr0iZiRl 发布于 2025-7-11 09:34
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
华莉星宸Lv7专家互助
发布于2025-7-11 09:35(编辑于 2025-7-11 09:37)

当年第一天:DATEINYEAR($cs,1)

当年最后一天:DATEINYEAR($cs,-1)

-------------------------

DATEINYEAR(date,number):函数返回在一年当中第几天的日期。

示例:

DATEINYEAR(2008,100)等于2008-04-09,等价于DATEINYEAR("2008-08-08",100),也返回2008-04-09.

DATEINYEAR(2008,-1)等于2008-12-31,等价于DATEINYEAR("2008-08-08",-1),也返回2008-12-31。

这里写公式

image.png

  • 帆软用户Kohr0iZiRl 帆软用户Kohr0iZiRl(提问者) 给开始日期和结束日期设置,把date换成$年度,对吗
    2025-07-11 09:37 
  • 华莉星宸 华莉星宸 回复 帆软用户Kohr0iZiRl(提问者) 对的
    2025-07-11 09:38 
  • 帆软用户Kohr0iZiRl 帆软用户Kohr0iZiRl(提问者) 回复 华莉星宸 年度参数得用日期吗?用的常规值,传过去2025变成1905了
    2025-07-11 09:41 
  • 华莉星宸 华莉星宸 回复 帆软用户Kohr0iZiRl(提问者) 我测试直接就可以
    那你拼接一些 DATEINYEAR(CONCATENATE($cs,"-01-01"),-1)
    2025-07-11 09:43 
最佳回答
1
用户k6280494Lv6专家互助
发布于2025-7-11 09:35(编辑于 2025-7-11 09:36)
最佳回答
0
CD20160914Lv8专家互助
发布于2025-7-11 09:43

不用管开始与结束日期。如果年度有值,就直接按年度查询就行了。如果年度没有值就按开始与结束日期查询

/*不用与开始和结束日期去联动了。如果两个都有参数,那么目前直接按年度去查询的,除非年度没有值,就按开始与结束日期查询*/

where 1=1

${if(len(yd)>0,"日期字段>='"+CONCATENATE(yd,"-01-01")+"' and 日期字段<='"+CONCATENATE(yd,"-12-31")+"'","日期字段>='"+开始日期+"' and 日期字段<='"+结束日期+"'")}

image.png

image.png

  • 4关注人数
  • 43浏览人数
  • 最后回答于:2025-7-11 09:43
    请选择关闭问题的原因
    确定 取消
    返回顶部