Maison > base de données > tutoriel mysql > Comment filtrer les utilisateurs de SQLAlchemy par tranche d'âge à l'aide de champs de date ?

Comment filtrer les utilisateurs de SQLAlchemy par tranche d'âge à l'aide de champs de date ?

Barbara Streisand
Libérer: 2024-12-16 05:33:13
original
557 Les gens l'ont consulté

How to Filter SQLAlchemy Users by Age Range Using Date Fields?

SQLAlchemy : Filtration des champs de date

Interrogation des utilisateurs dans une tranche d'âge spécifique

Étant donné la définition du modèle ci-dessous :

class User(Base):
    ...
    birthday = Column(Date, index=True)   # Ex. '1987-01-17' in the database
    ...
Copier après la connexion

L'objectif est de récupérer tous les utilisateurs dans une tranche d'âge, comme ceux entre 18 et 30 ans old.

Implémentation correcte du filtre

Pour obtenir le filtrage souhaité, la requête SQLAlchemy suivante peut être utilisée :

query = DBSession.query(User).filter(
    User.birthday.between('1985-01-17', '1988-01-17')
)
Copier après la connexion

Explication :

  • L'opérateur between() est utilisé pour spécifier les limites inférieure et supérieure de la date plage.
  • Les valeurs de date sont formatées sous forme de chaînes au format « AAAA-MM-JJ ».

Méthodes de filtrage alternatives

En plus d'utiliser l'intervalle entre( ), il existe d'autres méthodes pour filtrer les champs de date :

# Filter by upper bound date
query = DBSession.query(User).filter(User.birthday <= '1988-01-17')
# Filter by lower bound date
query = DBSession.query(User).filter(User.birthday >= '1985-01-17')
# Filter by equality
query = DBSession.query(User).filter(User.birthday == '1987-01-17')
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal