SQLserver中查询未来半年得数据和半年之前得数据比如当前日期为2020-01-13

我要查询2019-08-01 到2020-01-31    和2020-01-01-2020-06-30得数据

FineReport Jason.Feng 发布于 2020-8-3 15:02
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
axingLv6专家互助
发布于2020-8-3 15:17(编辑于 2020-8-3 15:32)

半年之前

where 日期 between '${dateinmonth(monthdelta(today(),-5),1)}' and '${dateinmonth(today(),-1)}'

未来半年

where 日期 between '${dateinmonth(today(),1)}' and '${dateinmonth(monthdelta(today(),5),-1)}'

-----------

半年之前

where 日期 between dateadd(m,-5,getdate())-day(getdate())+1 and dateadd(m,1,getdate())-day(getdate())

未来半年

where 日期 between dateadd(d,-day(getdate())+1,getdate()) and dateadd(m,6,getdate())-day(getdate())

image.png

最佳回答
0
snrtuemcLv8专家互助
发布于2020-8-3 15:13(编辑于 2020-8-3 15:18)

前半年 select * from 表 where 时间字段 between  monthdelta(dateinmonth(today(),1),-6)  and  dateinmonth(today(),-1)  

后半年  select * from 表 where 时间字段 between  dateinmonth(today(),1)  and  dateinmonth(monthdelta(today(),6),-1)


image.png

  • Jason.Feng Jason.Feng(提问者) 这个是帆软得日期函数趴 这个sqlserver 识别不了伐
    2020-08-03 15:18 
  • snrtuemc snrtuemc 回复 Jason.Feng(提问者) 你写在帆软sql数据集中就可以啊
    2020-08-03 15:19 
  • Jason.Feng Jason.Feng(提问者) 回复 snrtuemc 不是 我这个 是写在 存储过程里面得
    2020-08-03 15:20 
  • snrtuemc snrtuemc 回复 Jason.Feng(提问者) 那参考下这个https://www.cnblogs.com/kelly1314/p/10808828.html
    2020-08-03 15:22 
  • 3关注人数
  • 1068浏览人数
  • 最后回答于:2020-8-3 15:32
    请选择关闭问题的原因
    确定 取消
    返回顶部