gpt4 book ai didi

python - SQLAlchemy:如何过滤日期字段?

转载 作者:IT老高 更新时间:2023-10-28 21:11:02 27 4
gpt4 key购买 nike

这是型号:

class User(Base):
...
birthday = Column(Date, index=True) #in database it's like '1987-01-17'
...

我想在两个日期之间进行过滤,例如选择间隔 18-30 年的所有用户。

如何用 SQLAlchemy 实现它?

我想到了:

query = DBSession.query(User).filter(
and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17')
)

# means age >= 24 and age <= 27

我知道这是不正确的,但是如何正确呢?

最佳答案

事实上,您的查询是正确的,除了错字:您的过滤器排除了所有记录:您应该更改 <=对于 >=反之亦然:

qry = DBSession.query(User).filter(
and_(User.birthday <= '1988-01-17', User.birthday >= '1985-01-17'))
# or same:
qry = DBSession.query(User).filter(User.birthday <= '1988-01-17').\
filter(User.birthday >= '1985-01-17')

您也可以使用 between :

qry = DBSession.query(User).filter(User.birthday.between('1985-01-17', '1988-01-17'))

关于python - SQLAlchemy:如何过滤日期字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895208/

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