SQL从同一行中的日期到当前日期减去持续时间

时间:2017-06-29 19:21:26

标签: sql sql-server

对于措辞不佳的标题感到抱歉,但我不太确定如何解释我想要做什么。

我在表格中有一组数据:

 |Duration|    StartDate              |Machine|
 |--------|---------------------------|-------|
 |192013  |2017-06-27 09:01:29.0800000|   1   |
 |--------|---------------------------|-------|
 |154199  |2017-06-27 19:31:43.2680000|   2   |
 |--------|---------------------------|-------|
 |244452  |2017-06-26 18:27:30.8160000|   3   |
 |--------|---------------------------|-------|

(持续时间为秒)

我想要做的是,每行(具有1个唯一的机器)是将此持续时间值分解为8小时/ 28800秒的块(与第一,第二和第三班相关)和将日期与新计算的持续时间相关联。

例如,我对机器1的所需输出是:

 |Duration|    StartDate              |Machine|
 |--------|---------------------------|-------|
 |22411   |2017-06-27 09:01:29.0800000|   1   |
 |--------|---------------------------|-------|
 |28800   |2017-06-27 15:15:00.0000000|   1   |
 |--------|---------------------------|-------|
 |28800   |2017-06-27 23:15:00.0000000|   1   |
 |--------|---------------------------|-------|
 |28800   |2017-06-28 07:15:00.0000000|   1   |
 |--------|---------------------------|-------|
 |28800   |2017-06-28 15:15:00.0000000|   1   |
 |--------|---------------------------|-------|
 |28800   |2017-06-28 23:15:00.0000000|   1   |
 |--------|---------------------------|-------|
 |25602   |2017-06-29 07:15:00.0000000|   1   |
 |--------|---------------------------|-------|

希望这个例子有助于传达我想说的话。

P.S。我正在使用SQL SERVER 2008 R2。

0 个答案:

没有答案