【发布时间】:2024-08-19 03:45:02
【问题描述】:
我有一个表格,其中包含每年的日期范围(季节)。 正常的是,一个赛季的结束是下一赛季的开始。 在下面的示例中,我用粗体显示了两个不规则的季节设置。第一季的结束是在第二季开始的第二天。第二季的开始是在第三季结束的第二天
+--------+----+--------------+--------------+
|SEASONID|YEAR|DATE FROM |DATE TO |
+--------+----+--------------+--------------+
|1 |14 | 2014-01-01 |**2014-01-31**|
|2 |14 |**2014-01-30**| 2014-03-01 |
|3 |14 | 2014-03-01 |**2014-05-22**|
|4 |14 |**2014-05-23**| 2014-10-16 |
|5 |14 | 2014-10-16 | 2014-12-01 |
+--------+----+--------------+--------------+
有没有办法编写一个可以捕获未正确设置的季节的查询? (一个赛季的结束不是下一个赛季的开始)
【问题讨论】:
-
id是否自增?
-
这只是另一个孤岛和差距问题。尝试谷歌搜索或搜索,您会找到问题描述和大量答案。
-
不幸的是,SeasonID 是自动递增的,并且没有规定每年都会按顺序插入其季节。这使得所有依赖于 id = id + 1 的查询都没用:(
标签: sql sql-server date datetime gaps-and-islands