Maison > base de données > tutoriel mysql > Comment filtrer efficacement les champs de date SQLAlchemy par plage ?

Comment filtrer efficacement les champs de date SQLAlchemy par plage ?

Mary-Kate Olsen
Libérer: 2025-01-04 21:36:43
original
592 Les gens l'ont consulté

How to Efficiently Filter SQLAlchemy Date Fields by Range?

Filtrage des champs de date SQLAlchemy

Le filtrage des champs de date dans SQLAlchemy permet une sélection précise des enregistrements dans des plages de dates spécifiées. Considérez le modèle suivant :

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

Filtrer une plage de dates

Pour filtrer les utilisateurs dans une tranche d'âge spécifique, vous pouvez tirer parti du mécanisme de filtrage de SQLAlchemy :

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

Cependant, cette approche contient une faute de frappe. Pour sélectionner des utilisateurs âgés de 18 à 30 ans, vous devez permuter les opérateurs supérieur ou égal à (>=) et inférieur ou égal à (<=) :

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

Utiliser Entre

Une approche alternative consiste à utiliser la méthode between, qui permet de spécifier directement la plage de dates :

query = DBSession.query(User).filter(
    User.birthday.between('1985-01-17', '1988-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