输入某一个年月的销售数据,查询时可以查出这个年月及上月的销售数据。

举例:输入2021-081.png

可以查询出2021-07和2021-08的销售数据。如何写这个变量的查询语句?2.png

FineReport guoyue777 发布于 2021-12-19 21:44
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
2
CD20160914Lv8专家互助
发布于2021-12-20 08:54

where 1=1

${if(len(rq)==0,"","and date_format(xsrq,"%Y-%m") in('"+ rq +"','"+format(MONTHDELTA(rq+"-01",-1),'yyyy-MM')+"')")}

最佳回答
1
罗罗诺亚索隆Lv5见习互助
发布于2021-12-20 08:23(编辑于 2021-12-20 08:27)

where  日期 >=' 查询日期 往前推一个月'   and  日期 <= '查询日期'  ;

或者where in ('查询日期 往前推一个月 ',‘查询日期’);

看你用的数据库,有往前推一个月的函数,mysql  :date_sub( 日期, INTERVAL 1   month ),先拼接个-01,弄成日期格式在处理

最佳回答
0
Z~/Lv6初级互助
发布于2021-12-20 08:34

可以这样写:  指定,day,month,year:

and month(left(vs_pushed_date,10)) = month('${dates}')

and year(left(vs_pushed_date,10)) = year('${dates}'),不走索引数据量太多会卡

也可以这样写,使用dateformat 函数,拼接日期,这个比较方便,要什么样式的日期都可以,再走索引。

and PULLED_DATE >= date_format(date_sub(curdate(),interval 10 month),'%Y-%m-01')

最佳回答
0
墨残烛Lv5初级互助
发布于2021-12-20 08:56

SQL中常用日期函数 - feiquan - 博客园 (cnblogs.com)

可以参考这个,

in(DATEADD(mm,-1,'${RQ}'),'${RQ}')

  • 6关注人数
  • 436浏览人数
  • 最后回答于:2021-12-20 08:56
    请选择关闭问题的原因
    确定 取消
    返回顶部