【发布时间】:2013-09-05 12:03:07
【问题描述】:
下表是用于显示媒体何时播放的表格。所以基本上它有一个开始时间(starts)、轨道长度(clip_length)和结束时间(ends = starts + clip_length),最后是轨道的位置。
|starts | ends |position |file_id| clip_length
|2013-08-30 22:00:00 | 2013-08-30 22:03:08 |0 |16 |00:03:08.081768
|2013-08-30 22:03:08 | 2013-08-30 22:06:33 |1 |17 |00:03:25.436485
|2013-08-30 22:06:33 | 2013-08-30 22:09:07 |2 |7 |00:02:33.79968
|2013-08-30 22:09:07 | 2013-08-30 22:12:21 |3 |3 |00:03:14.020273
|2013-08-30 22:12:21 | 2013-08-30 22:15:31 |4 |8 |00:03:10.466689
我想做的是添加一条记录,比如position =2,如下所示。我已经能够增加职位,但问题在于时间都搞砸了。
|starts | ends |position |file_id|clip_length
|2013-08-30 22:00:00 | 2013-08-30 22:03:08 |0 |16 |00:03:08.081768
|2013-08-30 22:03:08 | 2013-08-30 22:06:33 |1 |17 |00:03:25.436485
|2013-08-30 22:06:33 | 2013-08-30 22:09:07 |2 |7 |00:02:33.79968
|2013-08-30 22:06:33 | 2013-08-30 22:11:03 |3 |1 |00:04:30.006958
|2013-08-30 22:09:07 | 2013-08-30 22:12:21 |4 |3 |00:03:14.020273
|2013-08-30 22:12:21 | 2013-08-30 22:15:31 |5 |8 |00:03:10.466689
因此可以使用第一个开始时间.. 作为点 00,并将clip_length 添加到starts 并保存在ends 中,作为第一个。然后对于第二个使用第一个 ends 值作为开始并递归执行此操作直到结束(跟随位置)。
提前谢谢..
【问题讨论】:
-
努力理解你想要什么。间隔的总和?
-
基本上我想将'clip_length'字段添加到'start'字段中,并将其保存在'ends'字段的同一行中。然后在下一行。使用上一次歌曲以即将到来的歌曲的开始时间结束。
-
旁注:如果这些是当地时间并且应用程序在具有 DST 的时区运行,那么您将在转换过程中遇到错误。
-
嗯,这里显示的时间是格林威治标准时间..所以系统已经将其转换为格林威治标准时间......
标签: sql postgresql date time increment