显示30天内到期的所有记录,以及过期的

时间:2019-06-07 10:57:23

标签: sql

我正在设置一个新查询,以显示所有在30天内具有到期日期的记录以及所有过期的记录。

我已经使用SQL尝试创建此规则-但它只会显示在第30天到期的记录-而不显示在到期日之间或到期的项目

WHERE DueDate = DateAdd(day, +30, DateAdd(dd, DateDiff(dd, 0, GetDate()), 0))

预期输出是在接下来的30天内具有到期日期的项目列表以及所有具有到期过期日期的记录。

1 个答案:

答案 0 :(得分:0)

您需要在明天到未来30天之间到期的事情不平等:

where DueDate <= DateAdd(day, 30, convert(date, GetDate(), 0)) and
      DueDate > convert(date, getdate())

请注意,您的神秘日期算术只是删除时间成分的一种方法。转换为date是一种更简单的方法,并且受所有受支持的SQL Server版本支持。