【发布时间】:2016-02-11 06:27:43
【问题描述】:
我有一个表格变量,我用特定范围(和 dw、wk、mm、yy、dd 值)之间的所有日期填充
然后我会在开始日期之前将其加入到我的检查记录中。
SELECT CalDate
, DayN
, WeekN
, YearN
, DayOfMonthN
, [Start Date]
, [End Date]
, [Inspection Number]
FROM @Calendar AS dateInfo
LEFT JOIN [Inspection Records] AS IR
ON IR.[Start Date] = dateInfo.CalendarDate
这很好用,我现在需要做的是(我必须这样做才能传递给第 3 方应用程序...)是获取 [开始日期] 和 [结束日期] 之间的所有日期并将它们作为逗号分隔列表添加到列中。
我遇到过这个答案t-sql get all dates between 2 dates 这似乎完全符合我的需要。
我被困在如何构建我的脚本以使用该脚本获取我的 [开始日期] 和 [结束日期] 之间的所有日期并将它们添加到列中。
- 计算两列之间所有日期的最佳方法是什么
- 如何将结果作为逗号分隔列表插入到单列中
注意:我无法向数据库添加任何内容。
示例:(尝试获取日期列)
<table>
<tr>
<td>CalDate</td>
<td>DayN</td>
<td>WeekN</td>
<td>YearN</td>
<td>DayOfMonthN</td>
<td>Start Date</td>
<td>End Date</td>
<td>Inspection Number</td>
<td>Dates</td>
</tr>
<tr>
<td>07-08-2014</td>
<td>5</td>
<td>32</td>
<td>2014</td>
<td>7</td>
<td>07-08-2014</td>
<td>11-08-2014</td>
<td>A0001</td>
<td>07-08-2014,08-08-2014,09-08-2014,10-08-2014,11-08-2014</td>
</tr>
</table>
【问题讨论】:
-
您能否举例说明您期望的输入和输出?
-
示例已添加,谢谢
标签: sql sql-server tsql date recursion