WITH a as ( SELECT 1 id,'2024-09-13 09:00:00' tm UNION SELECT 2 id,'2024-09-13 12:05:00' tm UNION SELECT 3 id,'2024-09-13 13:50:00' tm UNION SELECT 4 id,'2024-09-13 14:15:00' tm UNION SELECT 5 id,'2024-09-13 14:20:00' tm UNION SELECT 5 id,'2024-09-13 18:45:00' tm ) SELECT id, tm, -- 使用LAG函数获取上一行的时间戳 -- 计算时间差 DATEDIFF(MINUTE, LAG(tm) OVER (ORDER BY id), tm) AS Time FROM a ---------------------------- 假设上面这样的字段,上一个时间12:05与下个时间13:50 中间 是12:40-13:40 是休息时间,想要T除这部分时间。 |
最佳回答 |
||||
0
|
|