首頁 > 資料庫 > mysql教程 > 如何按範圍高效率過濾 SQLAlchemy 日期欄位?

如何按範圍高效率過濾 SQLAlchemy 日期欄位?

Mary-Kate Olsen
發布: 2025-01-04 21:36:43
原創
594 人瀏覽過

How to Efficiently Filter SQLAlchemy Date Fields by Range?

SQLAlchemy 日期欄位過濾

在 SQLAlchemy 中過濾日期欄位可以精確選擇指定日期範圍內的記錄。考慮以下模型:

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

過濾日期範圍

要過濾特定年齡範圍內的用戶,您可以利用SQLAlchemy 的過濾機制:

query = DBSession.query(User).filter(
    and_(
        User.birthday >= '1988-01-17',
        User.birthday <= '1985-01-17'
    )
)
登入後複製

但是,這種方法有拼字錯誤。要選擇年齡在18 歲到30 歲之間的用戶,您應該交換大於或等於(>=) 和小於或等於(<=) 運算符:

query = DBSession.query(User).filter(
    and_(
        User.birthday <= '1988-01-17',
        User.birthday >= '1985-01-17'
    )
)
登入後複製

使用Between

另一種方法是使用Between 方法,它允許直接指定日期範圍:

query = DBSession.query(User).filter(
    User.birthday.between('1985-01-17', '1988-01-17')
)
登入後複製

以上是如何按範圍高效率過濾 SQLAlchemy 日期欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板