控件是日期,如何按月或按年查询数据?
如控件选择2021-3-11,如何查询2021年3月整月的数据或2021年全年的数据?
能不能通过在数据列中过滤方法做呢?
sql操作,比如日期是$rq
查询整月的话,sql里条件写 WHERE SUBSTR(日期,1,7)='${MID(rq,1,7)}'
整年的话,WHERE SUBSTR(日期,1,4)='${MID(rq,1,4)}'
你在SQL里面把这个参数处理下呗,如month(日期参数)或year(日期参数)
看你数据库怎么存的
数据库只有日期,格式是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(日期控件)}'
关联查询当前表两次,关联字段截取日期的年部份
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()开窗函数查询。开窗函数用法,自行百度