根据日期选择展示不同的时间段

在做一个日报表,如果在10号之前,展示上月20号到本月10的数据,如果在10号之后,展示本月月初到今天的数据,例如:11.20-12.10或者12.1-12.31,用的是sql  SERVER的数据库,可以实现嘛。求助大佬帮忙!

wangjiaojiao 发布于 2019-12-14 09:32
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
小歆嵩Lv7初级互助
发布于2019-12-14 10:34(编辑于 2019-12-14 10:35)
select date,数据 from 表
where day(now())<=10
and date between DATE_FORMAT(concat(year(now()),'-',month(now())-1,'-','20'),'%Y-%m-%d')
and DATE_FORMAT(concat(year(now()),'-',month(now()),'-','10'),'%Y-%m-%d')
union all
select date ,数据 from 表
where day(now())>10
and date between 
DATE_FORMAT(concat(year(now()),'-',month(now()),'-','1'),'%Y-%m-%d')
and DATE_FORMAT(concat(year(now()),'-',month(now())+1,'-','1'),'%Y-%m-%d') - interval 1 day

我是用mysql写的,原理是相同的,sql server语法可能有点不同

最佳回答
0
凌建Lv7高级互助
发布于2019-12-14 10:40
你加我扣594669832
  • 3关注人数
  • 448浏览人数
  • 最后回答于:2019-12-14 10:40
    请选择关闭问题的原因
    确定 取消
    返回顶部