我有一个包含四列ID,休息名称,时间已开始,完成时间的表格。
时间已开始且时间已完成的数据为没有时区的时间。
我想添加另一个名为Duration的列,并希望它tp减去时间已开始完成的时间。因此,在每行上已经在持续时间列上输入数据将显示中断的持续时间。
答案 0 :(得分:2)
减去两个时间戳将返回interval
,这是它们之间的差异,这应该适合您的账单:
SELECT *, time_finished - time_Started AS duration
FROM mytable
答案 1 :(得分:2)
正如@Mureinik指出的那样,您可以在查询中对时间戳进行数学运算。要修复表,您需要在表中添加一个持续时间(或您喜欢的任何名称)列,并使用UPDATE查询填充该列。
首先,我将创建一个沙箱表来测试这些更改。当您对结果感到满意时,您可以修改实际表格。
将所有内容从mytable
复制到test
CREATE TABLE test
AS
SELECT *
FROM mytable
添加数据类型为区间
的新列ALTER TABLE test
ADD COLUMN duration interval
填充新列
UPDATE test
SET duration = time_finished - time_started
如果您对test
表中的结果感到满意,请在您的实时表格上运行相同的命令。