首页 > 数据库 > mysql教程 > 如何使用日期字段按年龄范围过滤 SQLAlchemy 用户?

如何使用日期字段按年龄范围过滤 SQLAlchemy 用户?

Barbara Streisand
发布: 2024-12-16 05:33:13
原创
557 人浏览过

How to Filter SQLAlchemy Users by Age Range Using Date Fields?

SQLAlchemy:日期字段过滤

查询特定年龄范围内的用户

给出以下模型定义:

class User(Base):
    ...
    birthday = Column(Date, index=True)   # Ex. '1987-01-17' in the database
    ...
登录后复制

目标是检索某个年龄范围内的所有用户,例如 18 到 30 岁之间的用户

正确的过滤器实现

要实现所需的过滤,可以使用以下 SQLAlchemy 查询:

query = DBSession.query(User).filter(
    User.birthday.between('1985-01-17', '1988-01-17')
)
登录后复制

解释:

  • Between() 运算符用于指定日期的下限和上限范围。
  • 日期值的格式为“YYYY-MM-DD”格式的字符串。

替代过滤方法

除了使用 Between( ) 运算符,还有其他过滤日期字段的方法:

# Filter by upper bound date
query = DBSession.query(User).filter(User.birthday <= '1988-01-17')
# Filter by lower bound date
query = DBSession.query(User).filter(User.birthday >= '1985-01-17')
# Filter by equality
query = DBSession.query(User).filter(User.birthday == '1987-01-17')
登录后复制

以上是如何使用日期字段按年龄范围过滤 SQLAlchemy 用户?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板