次の表を検討してください。
class Employee(Base):
__tablename__ = "t_employee"
id = Column(Integer(20), Sequence('%s_id_seq' % __tablename__), primary_key=True)
first_name = Column(String(30))
last_name = Column(String(30))
email = Column(String(50))
start_date = Column(Date, default=datetime.now)
end_date = Column(Date)
sqlalchemy の raw SQL で日付の代わりに文字列を使用して選択するにはどうすればよいですか? 以下は mysql では機能しますが、Oracle では機能しません。
session.query(Employee).\
filter("end_date IS NULL OR end_date>='%s'" % datetime.now()).all()
最良のシナリオは、Date または DateTime 列を処理するときはいつでも文字列または日付 (交換可能) を使用できる場合です (TypeDecorator を試してみましたが役に立ちませんでした)。
質問は生のSQLに言及していることに注意してください(これは述語を使用して実行できることを知っています)...