【问题标题】:How to filter query in sqlalchemy by year (datetime column)如何按年份过滤 sqlalchemy 中的查询(日期时间列)
【发布时间】:2019-08-08 17:57:02
【问题描述】:

我在 sqlalchemy 0.4 中有一个带有 types.DateTime 列的表:

Column("dfield", types.DateTime, index=True)

我想使用模型选择在此列中有特定年份的记录。这个怎么做? 我虽然应该这样做:

selected_year = 2009
my_session = model.Session()
my_query = my_session.query(model.MyRecord).filter(model.dfield.??? == selected_year)

# process data in my_query

与 ???对我来说不清楚。

【问题讨论】:

    标签: python sqlalchemy


    【解决方案1】:
    sqlalchemy.extract('year', model.MyRecord.dfield) == selected_year
    

    推荐人:https://docs.sqlalchemy.org/en/13/core/sqlelement.html#sqlalchemy.sql.expression.extract

    【讨论】:

    • 谢谢!我以前从未见过extract。按预期工作。
    猜你喜欢
    • 1970-01-01
    • 2018-12-29
    • 2014-03-10
    • 2018-05-27
    • 1970-01-01
    • 2017-08-04
    • 2021-05-23
    • 2015-09-20
    • 1970-01-01
    相关资源
    最近更新 更多