SQL Server 2005简单查询以获取两个日期之间的所有日期

时间:2016-02-14 11:02:47

标签: sql sql-server

我知道有很多解决方案,但我正在寻找一个简单的查询来获取两个日期之间的所有日期。

我不能声明变量。

1 个答案:

答案 0 :(得分:0)

根据上面的评论,如果没有您的表结构和更多细节,它只是猜测。此外,您使用的是3NF数据库还是星型模式结构等。这是交易系统还是数据仓库?

作为一般答案,我建议您创建一个日历表,这样您就可以为工作日,周末日,营业日等创建多个列,并添加日期键值,从1开始并每天递增。

您的查询是一个非常简单的子选择或加入表格来执行类似

的操作
SELECT date FROM Calendar WHERE date BETWEEN <x> AND <y>

How to create a Calender table for 100 years in Sql

还有其他选项,例如使用迭代创建日历表(例如,作为CTE表)并链接到该日历表。

SQL - Create a temp table or CTE of first day of the month and month names