首頁 >資料庫 >mysql教程 >如何使用 SQLAlchemy 日期欄位按年齡範圍有效過濾使用者?

如何使用 SQLAlchemy 日期欄位按年齡範圍有效過濾使用者?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-24 15:28:15390瀏覽

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

過濾 SQL 資料欄位

處理 SQL 資料庫中的資料時,通常需要過濾特定欄位以檢索目標資訊。在本例中,我們探索如何使用 SQLAlchemy 過濾表示日期的欄位。

給定以下模型:

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

我們的目標是根據生日過濾用戶,特別是特定的年齡範圍,例如 18 到 30 歲之間。

最初,您嘗試實現過濾using:

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

但是,由於拼字錯誤,此查詢不正確。正確的過濾器應該是:

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

過濾日期範圍的另一個替代方法是Between 函數:

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

利用這些過濾查詢,您可以根據特定的用戶記錄檢索它們出生日期,使您能夠對所選資料進行進一步的操作或分析。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn