【发布时间】:2017-06-09 20:06:07
【问题描述】:
输入:
Id |Status |Modified_date
-----------------------------------------
1 |active |20-10-2016
1 |removed |09-11-2016
2 |active |21-10-2016
2 |removed |11-01-2017
我想将开始日期和结束日期添加为新列,输出应如下所示
ID | status | start_Date | end_date
-----------------------------------------
1/1/1900 | active | 20-10-2016 |9/11/2016
1/1/1900 | removed | 9/11/2016 |99-99-9999
1/2/1900 | active | 21-10-2016 |11/1/2017
1/2/1900 | removed | 11/1/2017 |99-99-9999
请告诉我这是怎么可能的
【问题讨论】:
-
不到一个小时前,我刚刚为这种确切情况提供了答案。 stackoverflow.com/questions/44437174/…
-
@SeanLange 我认为现在有点不同 = ) 但与你所做的有一些共同点。
-
结束日期最好使用 NULL,而不是全部 9。所有 9 的存在和格式也让我想知道这些是否是 varchar 列。如果是这种情况,您真的应该将其转换为 DateTime 列。在比较日期方面,您所使用的格式很难在 SQL 代码中正确处理。
-
另外,在结果中,该日期值真的是您想要的 ID 吗?
标签: sql-server