gpt4 book ai didi

python - SQLAlchemy:将整数列添加到 DateTime

转载 作者:行者123 更新时间:2023-11-28 16:37:24 24 4
gpt4 key购买 nike

给定一个表格

class Order(db.Model):
created_at = db.Column(db.DateTime)
days = db.Column(db.Integer)

我需要像这样使用 FROM 语句编写查询:Order.created_at + Order.days < datetime.now() .最简单的方法是行不通的,因为 datetime 加上整数的结果是 double :) 这个结论是我在 MySQL 的实际实验后得出的。

稍微搜索后,我找到了解决所描述问题的 MySQL 的正确 SQL 语句:

SELECT *
FROM orders o
WHERE o.created_at + INTERVAL o.days DAY < '2014-06-10 14:22:00';

我想问的是如何为 sqlalchemy 过滤器编写上面的查询代码?我找到一篇文章 how to use Intervals here on stackoverflow ,但是 DATEADD在 MySQL 中缺少,我不知道我需要在哪里绑定(bind)一个间隔。

抱歉我的英语不好,我希望我能正确解释我的问题:)

UPD:也许定义 days 是正确的作为间隔,但目前它不是一个选项。

最佳答案

MySQL 有一个名为 TIMESTAMPADD 的函数这似乎做你想做的。以下是如何在查询中使用它。

session.query(Order).filter(func.timestampadd(text('DAY'), Order.days, Order.created_at) < datetime(2014, 6, 10, 14, 22))

关于python - SQLAlchemy:将整数列添加到 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24144368/

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