Lorsque vous travaillez avec des données dans une base de données SQL, il est souvent nécessaire de filtrer des champs spécifiques pour récupérer des informations ciblées. Dans ce cas, nous explorons comment filtrer un champ représentant des dates à l'aide de SQLAlchemy.
Étant donné le modèle suivant :
class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ...
Notre objectif est de filtrer les utilisateurs en fonction de leurs anniversaires, en particulier ceux dans une tranche d'âge particulière, par exemple entre 18 et 30 ans.
À l'origine, vous avez tenté d'implémenter le filtrage using :
query = DBSession.query(User).filter( and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17') )
Cependant, cette requête est incorrecte en raison d'une faute de frappe. Le filtre approprié doit être :
qry = DBSession.query(User).filter( and_(User.birthday <= '1988-01-17', User.birthday >= '1985-01-17') )
Une autre alternative pour filtrer les plages de dates est la fonction between :
qry = DBSession.query(User).filter(User.birthday.between('1985-01-17', '1988-01-17'))
En utilisant ces requêtes filtrées, vous pouvez récupérer des enregistrements d'utilisateurs spécifiques en fonction de leur dates de naissance, vous permettant d'effectuer d'autres opérations ou analyses sur les données sélectionnées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!