create table examp (
ID integer,
val1 timestamp,
val2 timestamp,
primary key(ID)
);
insert into examp (ID,val1,val2) values (1,'2011/5/26 10:00:00','2011/5/26 14:00:00');
insert into examp (ID,val1,val2) values (2,'2011/5/26 14:00:00','2011/5/25 14:00:00');
现在我想知道两小时时间戳的差异>我试过了:
SELECT EXTRACT(hour FROM AGE(val1,val2))
FROM examp
WHERE id = 2
...但这给了我0!
答案 0 :(得分:2)
您正在提取小时组件,而不是小时数。由于时间戳相隔24小时,因此小时字段的差异确实为零。
据推测,您可以extract days * 24 + extract hours
获取所需信息。只要不是几个月或几年......您也可以转换为纪元,然后转换为/ 3600。
select extract(epoch from age(val1,val2))/3600 from examp where id=2;