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中文網其他相關文章!