数据看起来像这样:
RN StartTime StopTime Activity
1 2013-02-03 12:07:39 2013-02-03 14:58:13 A1
2 2013-02-03 16:00:02 2013-02-04 04:25:32 A2
3 2013-02-04 04:25:32 2013-02-04 04:25:32 A2
4 2013-02-04 05:31:32 2013-02-04 05:57:32 A3
5 2013-02-04 06:24:32 2013-02-04 06:54:32 A4
第3 行的StartTime和第 2 行和第 3 行的StopTime相似。我想将其格式化为:
RN StartTime StopTime Activity
1 2013-02-03 12:07:39 2013-02-03 14:58:13 A1
2 2013-02-03 16:00:02 - A2
3 - 2013-02-04 04:25:32 A2
4 2013-02-04 05:31:32 2013-02-04 05:57:32 A3
5 2013-02-04 06:24:32 2013-02-04 06:54:32 A4
StartTime问题是使用 CASE 语句解决的,但我需要在StopTime中找到重复项,并使用“-”更新具有较小 RN 的那个。
注意:重复项的活动总是相同的。
这是我的查询:
SELECT CTE.RN,
(CASE
WHEN CONVERT(VARCHAR, StartTime, 120) = CONVERT(VARCHAR, StopTime, 120)
THEN '-'
ELSE CONVERT(VARCHAR, StartTime, 120)
END) As StartTime, StopTime
FROM CTE
ORDER BY StopTime