You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按年份查询日期?解决Python中该查询无结果的问题

解决SQLAlchemy中日期年份过滤无结果的问题

问题出在你用了Python原生的in运算符,这在SQLAlchemy的查询表达式里行不通——它会直接在Python层面判断这个SQL表达式对象是否属于列表,结果永远是False,所以最终生成了1=0的无效条件。

正确的写法是用SQLAlchemy提供的.in_()方法,专门用来生成SQL的IN子句:

q = ...
q = q.filter(func.strftime('%Y', DailyReportItem.reporting_date).in_(['2021', '2022']))

这样执行后,生成的WHERE子句就会和你在SQLite Studio里写的一致,正确过滤出2021和2022年的数据。

内容的提问来源于stack exchange,提问作者Spanky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 06:35:30