Sql server 基于起始日期和截止日期从单行中获取多行

Sql server 基于起始日期和截止日期从单行中获取多行,sql-server,Sql Server,我有3列ID,From date和To date。我需要检查From和To之间的日期差异,并根据差异添加新行。下面的示例。如何在sql server中完成此操作 +-----+------------+------------+ | ID | From | To | +-----+------------+------------+ | 100 | 15/05/2016 | 17/05/2016 | +-----+------------+------------+

我有3列ID,From date和To date。我需要检查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 |
+-----+------------+
这里有一个

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) 

你想知道他们之间的平均日期?你是说你想标准化你的数据?讨论了100次。你应该有一个日历表,然后是一个join,在join子句中比较。工作日还是日历?@GiorgiNakeuri我认为他不需要日历表这里可能有重复的日历表