基于from和to get从单行获取多行

时间:2016-05-17 13:48:51

标签: sql-server

我有3列ID,从日期和到目前为止。我需要检查from和to之间的日期差异,并根据差异添加新行。例如下面。如何在sql server中完成

+-----+------------+------------+
| ID  |    From    |     To     |
+-----+------------+------------+
| 100 | 15/05/2016 | 17/05/2016 |
+-----+------------+------------+

我需要的输出

+-----+------------+
| ID  |    Date    |
+-----+------------+
| 100 | 15/05/2016 |
| 100 | 16/05/2016 |
| 100 | 17/05/2016 |
+-----+------------+

1 个答案:

答案 0 :(得分:0)

此处有 function

dbo.ExplodeDates(@startdate datetime, @enddate datetime) 

只需将其更新为包含您的ID

即可
dbo.ExplodeDates(@ID id, @startdate datetime, @enddate datetime) 

并像

一样使用它
SELECT *
FROM dbo.ExplodeDates(@ID id, @startdate datetime, @enddate datetime)