Sqlalchemy python在查询中将纪元秒转换为日期时间

时间:2019-03-11 08:41:56

标签: python mysql datetime sqlalchemy epoch

我有一个MySQL DB和一个日期时间已保存为纪元的字段,例如:

1527173502

我可以使用以下方法将其成功转换为日期时间:

datetime.fromtimestamp(1527173502)

现在,我需要在sqlalchemy查询中使用此方法,并且需要将其datetime与其他datetime进行比较。

到目前为止我尝试过的事情:

from sqlalchemy.dialects.mysql import DATETIME

UsersUnlockTransactions.query.filter(UsersUnlockTransactions.unlock_by == male.id,
func.to_timestamp(UsersUnlockTransactions.date_added).cast(DATETIME) >= male.date_added,
func.to_timestamp(UsersUnlockTransactions.date_added).cast(DATETIME) < (male.date_added + relativedelta(months=1))).count()

它告诉我to_timestamp不存在。

在查询中使用上述方法也不起作用:

UsersUnlockTransactions.query.filter(UsersUnlockTransactions.unlock_by == male.id, datetime.fromtimestamp(UsersUnlockTransactions.date_added) >= male.date_added,\
datetime.fromtimestamp(UsersUnlockTransactions.date_added) < (male.date_added + relativedelta(months=1))).count()

任何想法在这里使用什么?我认为应该有一个func.method,但我还找不到解决方法。

0 个答案:

没有答案