首页 > 解决方案 > SQLAlchemy:如何将字符串转换为日期,它应该是正确的日期格式

问题描述

我使用 postgres 执行以下代码

SELECT t.heatid,
       TO_TIMESTAMP(t.date, 'YYYY-MM-DD HH24SMI:SS,MS'),
       t.routecode_act                             
FROM t

但是如何用 sqlalcehmy 进行转换,尤其是这一行TO_TIMESTAMP(t.date, 'YYYY-MM-DD HH24SMI:SS,MS'),

例如

import sqlalchemy as sa
sa.seslect([
t.c.heatid,
t.c.date ??? here I don't know
t.c.routecode_act
])

标签: sqlalchemy

解决方案


您可以使用特殊对象func来调用 SQL 函数:

import sqlalchemy as sa

sa.select([t.c.heatid,
           sa.func.to_timestamp(t.c.date, 'YYYY-MM-DD HH24SMI:SS,MS'),
           t.c.routecode_act])

这将返回一个datetime对象。因为2021-03-02 10:00:00它返回datetime.datetime(2021, 3, 2, 10, 0, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=60, name=None)


推荐阅读