gpt4 book ai didi

postgresql - Postgres 时差

转载 作者:行者123 更新时间:2023-11-29 11:28:04 27 4
gpt4 key购买 nike

我正在尝试使用 postgresql 从表(login_history as t1)中检索以分钟为单位的时差。

当我尝试这段代码时

((date_part('hour', timestamp '2014-04-25 09:44:21')- date_part('hour', timestamp '2014-04-25 08:32:21'))*60 +(date_part('minutes', timestamp '2014-04-25 09:44:21')- date_part('minutes', timestamp '2014-04-25 08:32:21'))) as TimeNew

它工作正常。但是当我尝试使用这段代码从表 t1 中检索信息时

((date_part('hour', timestamp t1.login_date)- date_part('hour', timestamp t1.logout_date))*60 +
(date_part('minutes', timestamp t1.login_date)- date_part('minutes', timestamp t1.logout_date))
) as TimeNew

它抛出这个错误

SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "t1"

谢谢

最佳答案

我会使用从减去两个时间戳得到的间隔来得到一个更简单的表达式:

select extract (epoch from (timestamp '2014-04-25 09:44:21' - timestamp '2014-04-25 08:32:21'))::integer/60

(给出 72)

或者你的 table :

select extract (epoch from (t1.logout_date - t1.login_date))::integer/60

如果需要转换:

select extract (epoch from (t1.logout_date::timestamp - t1.login_date::timestamp))::integer/60

或查看用于自定义字符串解析的to_timestamp 函数:http://www.postgresql.org/docs/9.4/static/functions-formatting.html

关于postgresql - Postgres 时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32547188/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com