2017-10-26 5 views
0

0230에서 04AM과 같은 특정 시간 간격을 필터링하는 간격 date_startdate_finish 사이의 요소를 반환하는 쿼리를 작성하고 싶습니다.SQLAlchemy, 시간 간격으로 쿼리, time_start 및 time_end로 필터링

all_elements = "elements >= date_start and <= date_finish" 
all_elements_on_interval = "all_elements >= x.time and <= y.time" 

ps : SQLAlchemy를 처음 사용했습니다.

+1

를 가져올 것을 잊지 마십시오 (어쩌면 그냥 시간별로, 확실하지 않음). 문제가 정확히 무엇입니까? 쿼리 작성 및 데이터 필터링 방법에 대한 SQLAlchemy 설명서를 읽었습니까? –

답변

0

열 유형을 sqlalchemy.DateTime 개체로 만들면 매우 간단한 필터를 실행할 수 있습니다. sqlalchemy는 python datetime.datetime() 오브젝트를 사용합니다.

class Element(Base): 
    __tablename__ = 'elements' 
    id = Column(Integer, primary_key=True) 
    name = Column(String(64)) 
    dt = Column(DateTime) 

date_start = datetime(2017, 10, 27, 2, 0) 
date_finish = datetime(2017, 10, 27, 4, 0) 

all_elements_on_interval = session.query(Element).filter(and_(Element.dt >= date_start, Element.dt <= date_finish)).all() 

는 날짜와 SQLAlchemy의 and_

당신이 날짜 또는 날짜와 시간을 기준으로 필터를 사용하여 아주 기본적인 쿼리를 작성하는 방법에 대해 물어 보는 것 같습니다
from datetime import datetime 
from sqlalchemy import and_