如何根据SQL中的当前日期编写日期范围

时间:2017-10-31 17:03:08

标签: sql sql-server date

我需要提取与半月度生成的最新发票相关的订单数据。 即举例,

  

案例1:如果今天是10月30日,则生成的最新发票如下   10月15日,我希望看到10月1日至10月15日之间的所有订单数据   发票日期)

     

案例2:如果今天是3月10日,最新发票是2月28日,那我就是   想看看2月14日之间的所有订单数据   和2月28日

如何在SQL Server中实现这一点?鉴于我的订单日期和发票日期为表格中的两个日期时间列

2 个答案:

答案 0 :(得分:0)

我认为你基本上想要:

select (case when day(getdate()) > 15
             then datefromparts(year(getdate()), month(getdate()), 15)
             else dateadd(day, -1, datefromparts(year(getdate()), month(getdate()), 1))
        end) as last_invoice_date

答案 1 :(得分:0)

这可能是您要查找的内容,它只是从发票表中选择所有数据,其中发票日期介于最近发票日期和最近发票日期减去14天(含)之间。您可以将14天更改为您喜欢的任意天数。

Get