日期参数的加减运算

left(CONVERT(varchar(30),字段,20),7)<='${月份}',

如何求'${月份}'和'${月份}'过去12个月的值

aa.png

FineReport aazhuan 发布于 2022-4-25 16:03 (编辑于 2022-4-26 15:30)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-4-25 16:05(编辑于 2022-4-25 16:22)

直接sql里面写参数呀。。。你的日期字段是标准的年月日这样的格式吗?比如你录入04月,,想查询2021-04至2022-04的数据?再怎么也要录入年吧。不然如何知道你想查询哪一个的4月的数据呢???

where 1=1

${if(len(年月)=0,"","and bpa.balancedate>='"+MONTHDELTA(年月+"-01",-12)+"'")}

${if(len(年月)=0,"","and bpa.balancedate<='"+DATEINMONTH(年月+"-01",-1)+"'")}

image.png

  • aazhuan aazhuan(提问者) 字段取得前七位比如2022-04
    2022-04-25 16:16 
  • aazhuan aazhuan(提问者) 当\'${月份}\'=2022-04时,后面left(CONVERT(varchar(30),字段,20),7)>=date_add(\'${月份}\', interval 1 year) 查询不了
    2022-04-25 16:18 
  • CD20160914 CD20160914 回复 aazhuan(提问者) 看修改。。。类似这样。改在你的自己的日期字段。。最上面我的回复中
    2022-04-25 16:22 
  • CD20160914 CD20160914 回复 aazhuan(提问者) 意思就是录入2022-04,,最后sql会限制取2021-04-01至2022-04-30这一年的数据。。。
    2022-04-25 16:23 
  • aazhuan aazhuan(提问者) 谢谢,取到了
    2022-04-25 16:35 
最佳回答
0
重庆一棵草Lv4中级互助
发布于2022-4-25 16:14(编辑于 2022-4-25 16:23)

你可以加2个参数、

${if(p_begin = "","","and creation_date >= '" + p_begin + "'")}

${if(p_end = "","","and creation_date <= '" + p_end + "'")}后面这个p_end如果需求是只要一个,那么可以将这里的p_end设置为不可见。然后再这p_end的控件里面设置公公式计算出去年同期的值image.png

  • aazhuan aazhuan(提问者) 只用一个参数呢
    2022-04-25 16:16 
  • 重庆一棵草 重庆一棵草 回复 aazhuan(提问者) 后面这个设置为不可见。在利用公式将值算出来。就好了
    2022-04-25 16:17 
  • 重庆一棵草 重庆一棵草 回复 aazhuan(提问者) 计算公式:YEARDELTA($p_begin,-1)
    2022-04-25 16:21 
  • 3关注人数
  • 495浏览人数
  • 最后回答于:2022-4-26 15:30
    请选择关闭问题的原因
    确定 取消
    返回顶部