我知道有很多解决方案,但我正在寻找一个简单的查询来获取两个日期之间的所有日期。
我不能声明变量。
答案 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