【发布时间】:2017-08-16 19:41:40
【问题描述】:
在我使用 SQL Server 的代码中,我比较了两个月之间的数据,其中我确定了确切的日期。我试图找出某个列中的值是否在一堆不同的场景中发生变化。这部分有效,但我想做的是做到这一点,这样我就不必每次想要得到我正在寻找的结果时都回去更改日期。这可能吗?
我的想法是添加 WITH 子句,但它给了我一个聚合错误。无论如何我可以让这个日期问题更简单吗?提前致谢
编辑
好的,我想澄清一下。在我的 WITH 语句中,我有:
select distinct
d.Date
from Database d
返回:
+------+-------------+
| | Date |
+------+-------------|
| 1 | 01-06-2017 |
| 2 | 01-13-2017 |
| 3 | 01-20-2017 |
| 4 | 01-27-2017 |
| 5 | 02-03-2017 |
| 6 | 02-10-2017 |
| 7 | 02-17-2017 |
| 8 | 02-24-2017 |
| 9 | ........ |
+------+-------------+
如果我选择此语句并执行,它将只返回我的表中的日期,如上所示。我想做的是能够让sql从这些日期值中提取,并将一个月的最后一个日期值与下个月的最后一个日期值进行比较。本质上,它应该将日期 8 的值与日期 4 的值进行比较,但它应该足够动态,以至于它可以对任意两个日期执行相同的操作,而无需进行太多修改。
【问题讨论】:
-
您可以将其包装在一个存储过程中,该过程接受可以简化它的参数。您将始终需要提供日期值除非您描述了一些自动派生它们的逻辑这是什么类型的数据库?
-
应该在 begindate 和 enddate 之间使用 date1 吗?
-
所以你想让它随着当前日期自动滚动?请详细说明规则。如果今天是 3 月 24 日星期五,要使用的开始日期和结束日期是什么?
-
@programr .. 这应该可以帮助您确定每个问题的动态日期。
-
我仍然对您需要什么感到困惑。添加一些数据样本和预期结果。
标签: sql sql-server date with-statement