【发布时间】:2016-12-07 23:39:23
【问题描述】:
我需要一个简单的 sql 脚本,我可以在其中获取日期介于 2 周前的星期日和前一周的星期六之间的行。
无论我在本周的哪一天运行查询,我都需要查询来返回元素。
假设我今天运行查询:2016 年 12 月 12 日星期四。(12-08-2016)
我需要得到这个间隔:
SELECT * FROM table WHERE date BETWEEN '11-27-2016' AND '12-03-2016'
【问题讨论】:
-
你的数据库是什么?
-
@Mihai Microsoft SQL Server
-
您可以通过多种方式做到这一点。一个是:
select cast(dateadd(week, -2, getdate() - t.num) as date) startDate, cast(getdate() - t.num - 1 as date) endDate from (values ('sunday', 0), ('monday', 1), ('tuesday', 2), ('wednesday', 3), ('thursday', 4), ('friday', 5), ('saturday', 6)) t(name, num) where datename(weekday, getdate()) = t.name
标签: sql sql-server