我正在设置一个新查询,以显示所有在30天内具有到期日期的记录以及所有过期的记录。
我已经使用SQL尝试创建此规则-但它只会显示在第30天到期的记录-而不显示在到期日之间或到期的项目
WHERE DueDate = DateAdd(day, +30, DateAdd(dd, DateDiff(dd, 0, GetDate()), 0))
预期输出是在接下来的30天内具有到期日期的项目列表以及所有具有到期过期日期的记录。
答案 0 :(得分:0)
您需要在明天到未来30天之间到期的事情不平等:
where DueDate <= DateAdd(day, 30, convert(date, GetDate(), 0)) and
DueDate > convert(date, getdate())
请注意,您的神秘日期算术只是删除时间成分的一种方法。转换为date
是一种更简单的方法,并且受所有受支持的SQL Server版本支持。