ホームページ >データベース >mysql チュートリアル >SQLAlchemy の日付フィールドを範囲で効率的にフィルタリングする方法は?
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' ) )
Using Between
別のアプローチは、日付を直接指定できる between メソッドを使用することです。範囲:
query = DBSession.query(User).filter( User.birthday.between('1985-01-17', '1988-01-17') )
以上がSQLAlchemy の日付フィールドを範囲で効率的にフィルタリングする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。