gpt4 book ai didi

python - 删除 SQLAlchemy 生成的查询中的引号

转载 作者:行者123 更新时间:2023-11-29 03:29:56 26 4
gpt4 key购买 nike

这不同于Using a SQLAlchemy Integer field to create a timedelta object for comparison因为该线程正在询问在添加时间时使用哪个函数。该函数是为他们的 MySQL 版本找到的,但是,用户的后续编辑偏离了他们最初的问题,因此不回答这个问题。

我正在使用 MySQL。我想使用一个名为 timestampadd 的函数。 https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestampadd它的第一个参数是我要添加的时间单位,例如:分钟、小时、天。

在编写 SQLAlchemy 查询时,我不能做类似的事情

datetime_now = datetime.datetime.utcnow()
Item.query.filter(Item.created <= sqlalchemy.func.timestampadd(MINUTE, 1, datetime_now))

如果我这样做,我将在 MINUTE 时收到未定义的错误。我也试过:

Item.query.filter(Item.created <= sqlalchemy.func.timestampadd('MINUTE', 1, datetime_now))

但这会生成带有引号的 timestampadd 调用,这会导致 MySQL 错误。如何在生成的查询中删除 MINUTE 周围的引号?

最佳答案

为了按原样传递单位参数关键字,请使用 text()构造:

Item.query.filter(
Item.created <= sqlalchemy.func.timestampadd(text('MINUTE'), 1, datetime_now))

关于python - 删除 SQLAlchemy 生成的查询中的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31711449/

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