Bei der Arbeit mit Daten in einer SQL-Datenbank ist es häufig erforderlich, bestimmte Felder zu filtern, um gezielte Informationen abzurufen. In diesem Fall untersuchen wir, wie man mit SQLAlchemy ein Feld filtert, das Datumsangaben darstellt.
Angesichts des folgenden Modells:
class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ...
Unser Ziel ist es, Benutzer anhand ihrer Geburtstage zu filtern, insbesondere der darin enthaltenen eine bestimmte Altersspanne, z. B. zwischen 18 und 30 Jahren.
Ursprünglich haben Sie versucht, die Filterung zu implementieren using:
query = DBSession.query(User).filter( and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17') )
Diese Abfrage ist jedoch aufgrund eines Tippfehlers falsch. Der richtige Filter sollte sein:
qry = DBSession.query(User).filter( and_(User.birthday <= '1988-01-17', User.birthday >= '1985-01-17') )
Eine weitere Alternative zum Filtern von Datumsbereichen ist die Zwischenfunktion:
qry = DBSession.query(User).filter(User.birthday.between('1985-01-17', '1988-01-17'))
Durch die Verwendung dieser gefilterten Abfragen können Sie bestimmte Benutzerdatensätze basierend auf ihren Daten abrufen Geburtsdaten, sodass Sie weitere Operationen oder Analysen an den ausgewählten Daten durchführen können.
Das obige ist der detaillierte Inhalt vonWie kann man Benutzer mithilfe von SQLAlchemy-Datumsfeldern effizient nach Altersgruppe filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!