Heim >Datenbank >MySQL-Tutorial >Wie filtere ich SQLAlchemy-Datumsfelder effizient nach Bereich?
SQLAlchemy-Datumsfeldfilterung
Das Filtern von Datumsfeldern in SQLAlchemy ermöglicht eine präzise Auswahl von Datensätzen innerhalb bestimmter Datumsbereiche. Betrachten Sie das folgende Modell:
class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ...
Filtern eines Datumsbereichs
Um Benutzer innerhalb eines bestimmten Altersbereichs zu filtern, können Sie den Filtermechanismus von SQLAlchemy nutzen:
query = DBSession.query(User).filter( and_( User.birthday >= '1988-01-17', User.birthday <= '1985-01-17' ) )
Dieser Ansatz enthält jedoch einen Tippfehler. Um Benutzer im Alter zwischen 18 und 30 Jahren auszuwählen, sollten Sie die Operatoren „größer-gleich“ (>=) und „kleiner-gleich“ (<=) vertauschen:
query = DBSession.query(User).filter( and_( User.birthday <= '1988-01-17', User.birthday >= '1985-01-17' ) )
Verwenden Sie „Zwischen“.
Ein alternativer Ansatz ist die Verwendung der Between-Methode, die eine direkte Angabe des Datumsbereichs ermöglicht:
query = DBSession.query(User).filter( User.birthday.between('1985-01-17', '1988-01-17') )
Das obige ist der detaillierte Inhalt vonWie filtere ich SQLAlchemy-Datumsfelder effizient nach Bereich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!