【发布时间】:2015-10-21 22:13:43
【问题描述】:
我有以下 Where 子句导致我出现问题,我正在寻找解决方法。
@startDate 是今天的日期,@endDate 是结束日期,可以是未来 7 天、14 天或 20 天,除非结束月份大于开始月份。
问题 - 如果 StartDate DAY 是 20 并且 END Date Day 在下个月示例 Start Day 是 10/21 并且 End Day 是 11/5 比 where 子句取消它自己,我不能使用之间是因为我们不包括年份。 我尝试了 OR,但这也不起作用。
WHERE DAY(t.AnniversaryDate) >= DAY(@startDate)
AND DAY(t.AnniversaryDate) <= DAY(@endDate)
AND MONTH(t.AnniversaryDate) >= MONTH(@startDate)
AND MONTH(t.AnniversaryDate) <= MONTH(@endDate)
AND YEAR(t.AnniversaryDate) < YEAR(GETDATE())
【问题讨论】:
-
描述你想要达到的目标。现在看起来像 The XY Problem
-
我希望能够在不包括年份的两个日期之间进行搜索。
-
共享样本数据 + 所需输出。
-
只要未来的日期与月份相同,只有当结束日期的月份发生变化时,SQL 才能完美运行
标签: tsql