我怎样才能总结/减去同一行的时间值
问题描述:
我想总结和减去两个或更多的时间戳列。我怎样才能总结/减去同一行的时间值
我不能圆的几分钟或几秒钟,所以我想提取EPOCH
后所做的操作,但我总是得到一个错误,因为第一个EXTRACT
识别该列,但是当我将第二个EXTRACT
放在同一个SQL命令中时,我收到一条错误消息,指出第二列不存在。
我给你举个例子:
SELECT
EXAMPLE.PERSON_ID,
COALESCE(EXTRACT(EPOCH from EXAMPLE.LEFT_AT),0) +
COALESCE(EXTRACT(EPOCH from EXAMPLE.ARRIVED_AT),0) AS CREDIT
FROM
EXAMPLE
WHERE
EXAMPLE.PERSON_ID = 1;
在这个例子中,我会得到一个错误,如:
列ARRIVED_AT不存在
这是怎么回事? 我可以加/减时间值从同一行吗?
答
是ARRIVED_AT
而不是列的计算值?你运行什么来获取你发布的查询结果图像以显示这些列?
以下脚本符合您的期望,因此您所查询的表的结构有所不同,不是您期望的。
CREATE SCHEMA so46801016;
SET search_path=so46801016;
CREATE TABLE trips (
person_id serial primary key,
arrived_at time,
left_at time
);
INSERT INTO trips (arrived_at, left_at) VALUES
('14:30'::time, '19:30'::time)
, ('11:27'::time, '20:00'::time)
;
SELECT
t.person_id,
COALESCE(EXTRACT(EPOCH from t.left_at),0) +
COALESCE(EXTRACT(EPOCH from t.arrived_at),0) AS credit
FROM
trips t;
DROP SCHEMA so46801016 CASCADE;
你能发表这个表的实际结构吗?从流行的工具,如psql或pgadmin。 –