【发布时间】:2019-01-22 09:20:06
【问题描述】:
我有一个 start_date 和 end_date。我想获取这两个日期之间的日期列表。谁能帮我指出查询中的错误。
id state start_date end_date
------------------------------------------------------------------------
2 New 2016-02-24 2016-02-28
2 Active 2016-02-28 2016-03-01
2 New 2016-03-01 NULL
3 New 2016-02-23 2016-02-25
3 Active 2016-02-25 2016-02-27
3 New 2016-02-27 NULL
id state start_date end_date
------------------------------------------------------------------------
2 New 2016-02-24 2016-02-25
2 New 2016-02-25 2016-02-26
2 New 2016-02-26 2016-02-27
2 New 2016-02-27 2016-02-28
2 Active 2016-02-28 2016-02-29
2 Active 2016-02-29 2016-03-01
2 New 2016-03-01 NULL
3 New 2016-02-23 2016-02-24
3 New 2016-02-24 2016-02-25
3 Active 2016-02-25 2016-02-26
3 Active 2016-02-26 2016-02-27
3 New 2016-02-27 NULL
【问题讨论】:
-
指出您的查询中的错误,您没有向我们展示?与流行的看法相反,我们不是读心术的人(或者至少,不是所有时候)
-
一个简单的
BETWEEN与dates 配合得很好。如果您使用字符串而不是日期,它将不起作用。您没有发布任何查询。 -
-
还有Temporal Data Techniques in SQL Server。日历表和Numbers 表可以将许多复杂的范围或日期问题转换为简单的联接和范围查询。
标签: sql sql-server