按年或按月查询

控件是日期,如何按月或按年查询数据?

如控件选择2021-3-11,如何查询2021年3月整月的数据或2021年全年的数据?

能不能通过在数据列中过滤方法做呢?

FineReport sjl315 发布于 2021-3-29 13:29 (编辑于 2021-3-29 13:43)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
1
shirokoLv6资深互助
发布于2021-3-29 13:34

sql操作,比如日期是$rq

查询整月的话,sql里条件写 WHERE SUBSTR(日期,1,7)='${MID(rq,1,7)}'

整年的话,WHERE SUBSTR(日期,1,4)='${MID(rq,1,4)}'

最佳回答
0
唱跳rap全能选手Lv7中级互助
发布于2021-3-29 13:34

你在SQL里面把这个参数处理下呗,如month(日期参数)或year(日期参数)

最佳回答
0
snrtuemcLv8专家互助
发布于2021-3-29 13:34(编辑于 2021-3-29 13:35)

看你数据库怎么存的

数据库只有日期,格式是yyyy-MM-dd的话

https://blog.csdn.net/xly1993/article/details/80446810

DATE_FORMAT(date,format) 函数

然后帆软取年月日

year(),month()

假设

年:select * from 表 where DATE_FORMAT(日期,"%Y")='${year(日期控件)}'

年月:select * from 表 where DATE_FORMAT(日期,"%Y")='${year(日期控件)}' and DATE_FORMAT(日期,"%c")='${month(日期控件)}'

最佳回答
0
luojian0323Lv7资深互助
发布于2021-3-29 13:41

关联查询当前表两次,关联字段截取日期的年部份

select a.字段,a.日期,a.指标,sum(b.指标) as 当年指标和,sum(c.指标) as 当月指标和

from table a 

left join table b

on left(a.日期,4)=left(b.日期,4)

left join table c

on left(a.日期,7)=left(b.日期,7)

group by a.字段,a.日期,a.指标

或者不关联,直接使用lag()开窗函数查询。开窗函数用法,自行百度

  • 6关注人数
  • 535浏览人数
  • 最后回答于:2021-3-29 13:43
    请选择关闭问题的原因
    确定 取消
    返回顶部