【发布时间】:2016-01-05 06:17:57
【问题描述】:
我在 SP 中使用 datepart 函数。用于比较指定日期的星期和年份。
现在我的查询随着新年的开始而出现。我有一张名为“任务”的表,它按日期存储任务。现在,当我使用 DATEPART(YY,'2016-01-05') 执行 SP 时。它提供了正确的 2016 年数据。但是我用 DATEPART(ISOWK,'2016-01-05') 执行它,它也提供了 2015 年的数据和 2016 年的数据。
我想要从 2015 年 12 月 28 日到 2016 年 1 月 2 日的数据。本周数据。而且我无法获得 1 月 1 日和 2 日的数据。请帮我解决这个问题。
谢谢,
【问题讨论】:
-
请出示您创建的SP
-
为什么不能使用 date>= 2015-12-28 AND date=
-
您说“DATEPART(ISOWK,'2016-01-05') ,它给出了 2015 年的数据和 2016 年的数据。”。您还说“我无法获得第一和第二的数据”......矛盾请澄清??
-
我认为您的要求不是很清楚 - 但处理年终的一个简单启发式方法是,如果周数 > 30 并且月份是 1 月,则从年。
标签: sql sql-server