Sql server 基于起始日期和截止日期从单行中获取多行
我有3列ID,From date和To date。我需要检查From和To之间的日期差异,并根据差异添加新行。下面的示例。如何在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 | +-----+------------+------------+
+-----+------------+------------+
| 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我认为他不需要日历表这里可能有重复的日历表