【发布时间】:2018-10-18 17:43:51
【问题描述】:
我正在尝试计算名为Date_col 的单个列中连续行的日期之间的天数差异。然后,我想将这些差异放入一个名为 Expected_Results 的新列中。
到目前为止,我有以下代码:
DECLARE @datedifferences DATETIME
SET @datedifferences = (SELECT DATEDIFF(DAY, MIN(Date_col), MAX(Date_col)) FROM Schema.Table)
SELECT DISTINCT TOP 100 Date_col
FROM Database.Schema.Table
WHERE Date_col = @datedifferences
ORDER BY Date_col
以下是我想要返回的内容:
Date_col Expected_Results
1/1/2018 --
2/2/2018 31
3/3/2018 31
4/4/2018 31
5/5/2018 31
6/6/2018 31
7/7/2018 31
8/8/2018 31
但是,查询成功运行,但没有返回任何内容。我怀疑这是因为我缺少某种循环来遍历行。如何将 while 循环合并到查询中以成功迭代行以便查询打印预期结果?
【问题讨论】:
-
@datedifferences` 被声明为
DATETIME,但被分配给DATEDIFF函数的返回值,即returns an integer。 -
你能把实际的错误贴出来
标签: sql-server tsql