相关疑难解决方法(0)

PostgreSQL的时间戳差异小时数

是否有TIMESTAMPDIFF()PostgreSQL 的等价物?

我知道我可以减去两个时间戳来获得postgresql INTERVAL.我只想要INT中表示的两个时间戳之间的差异.

我可以在MySQL中这样做:

TIMESTAMPDIFF(HOUR, links.created, NOW())
Run Code Online (Sandbox Code Playgroud)

我只需要以小时表示的两个时间戳之间的差异表示为整数.

解决方案对我有用:

SELECT "links_link"."created",
"links_link"."title",
(EXTRACT(EPOCH FROM current_timestamp - "links_link"."created")/3600)::Integer AS "age" 
FROM "links_link"
Run Code Online (Sandbox Code Playgroud)

sql postgresql timestamp

54
推荐指数
5
解决办法
9万
查看次数

SQLAlchemy:两个日期之间的差异

我想知道在 SQLAlchemy 上工作的两个日期之间的差异。使用 Postgresql 我有以下工作:

SELECT
    EXTRACT(EPOCH FROM ('2019-02-11 17:59:05.953894'::timestamp - '2019-02-11 17:59:01.953894'::timestamp))
Run Code Online (Sandbox Code Playgroud)

但是,在 SQLAlchemy 中尝试相同的操作时我遇到了问题:

session.query(func.extract('epoch',func.date(subquery.c.dt_final.cast(Date)))-
                                   func.date(subquery.c.dt_start.cast(Date))).all()
Run Code Online (Sandbox Code Playgroud)

出现此错误:

ProgrammingError: (psycopg2.errors.UndefinedFunction) operator does not exist: double precision - date
LINE 1: ...h FROM date(CAST(anon_2.dt_final AS DATE))) - date(CAS...
                                                             ^
HINT:  No operator matches the given name and argument types. You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

如何在 SQLAlchemy 中获取两个日期之间的差异的正确方法?

谢谢

python postgresql sqlalchemy

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

postgresql ×2

python ×1

sql ×1

sqlalchemy ×1

timestamp ×1