2017-10-26 21 views
0

date_startdate_finishとの間の要素を返すクエリを作成して、02AMから04AMのような特定の時間間隔をフィルタリングすることができます。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_ 
関連する問題