如何在SQL查询中编写一个日期范围的代码,使其从当前日期向前追溯3周,并从当前日期向前追溯1周。

— 这段代码只提取未来7天内的到期日,忽略了最近21天的到期日–如何在SQL查询中对日期范围进行编码,使其从当前日期往前追溯3周,并从当前日期往前追溯1周。

select top 10  D.VendID as Customer , D.DueDate, sum(CuryTranAmt) as Amount, C.CpnyName Company 
  from APTran A
  left join APDoc D
  on A.RefNbr = D.RefNbr
  inner join [SIVSYS].[dbo].[Company] C
  on D.CpnyID = C.CpnyID

  where 
  A.trantype NOT IN ('CK', 'HC')
  and A.DrCr like 'C'
  and (D.DueDate BETWEEN GETDATE() AND DATEADD(DAY, -21, GETDATE())) OR (D.DueDate BETWEEN GETDATE() AND DATEADD(DAY, +7, GETDATE()))

  and D.DocBal <> '0'

  group by 
  D.VendID
 ,C.CpnyName
 ,D.DueDate
 ,A.CuryTranAmt
 ,D.RefNbr
 ,D.BatNbr
 order by (A.CuryTranAmt) desc

解决方案:

你的第一个条件的界限是 between 倒置:最低界大于上界,所以没有日期能匹配上。

我想,你只是想要。

where d.dueDate 
    between dateadd(day, -21, getdate())
    and dateadd(day, 7, getdate())

有可能,你要的是整个天数,所以。

where 
    d.dueDate >= dateadd(day, -21, cast(getdate() as date))
    and d.dueDate < dateadd(day, 6, cast(getdate() as date))

给TA打赏
共{{data.count}}人
人已打赏
解决方案

在Visual Studio中使用C#有办法让一个面板缓慢移动吗?

2022-4-21 10:09:01

解决方案

如何在wpf窗口加载中选中xceedsoftware.checkboxlist控件中的一些项目。

2022-4-21 10:09:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索