【问题标题】:SQL Server / SSIS - Add row for every daySQL Server / SSIS - 每天添加行
【发布时间】:2017-03-15 19:23:21
【问题描述】:

我有一个包含日期范围的表格。例如:

ID    StartDate   EndDate
---------------------------
2     1/1/2017    1/4/2017
3     1/2/2017    1/5/2017
4     2/1/2017    2/2/2017

我正在尝试通过 SSIS 创建下表(使用“执行 SQL 任务”或任何其他方法)

ID    Date
--------------
2     1/1/2017
2     1/2/2017
2     1/3/2017
2     1/4/2017
3     1/2/2017
3     1/3/2017
3     1/4/2017
3     1/5/2017
4     2/1/2017
4     2/1/2017

然后,一旦我有了,我会将剩余的列加入每一行

问题:如何根据第一个表中的任何数据创建一个 SQL 任务/命令来创建上述表?

注意:StartDateEndDate 由外部源填充。因此,第一个表不是静态的。

另外,我有一个名为 DimDate 的日期维度表,但我不知道这对我有什么帮助

【问题讨论】:

标签: sql-server tsql date ssis


【解决方案1】:

使用日期维度表很容易!我会让你选择你想使用的那个,因为野外有很多。一个例子:https://www.mssqltips.com/sqlservertip/4054/creating-a-date-dimension-or-calendar-table-in-sql-server/

【讨论】:

  • 我应该提到这一点,但我不知道实际日期是/将是什么......因此我不能只输入“2/1/2017”,因为那可能会或可能会不是一个东西
  • 这就是日期维度表的美妙之处,因为它们可以根据需要存储日期时间序列值和各种其他与日期相关的格式。例如,您可以为年、周、月的日期设置整数值。看看链接,希望这些示例会有所帮助。
  • @john5,select 语句之前的所有代码都只是用来重建你的第一个表。您应该专注于 select 语句。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多