【发布时间】:2013-03-23 08:43:10
【问题描述】:
考虑下表:
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 的原始 sql 中选择使用字符串而不是日期?以下在 mysql 中有效,但在 Oracle 中无效:
session.query(Employee).\
filter("end_date IS NULL OR end_date>='%s'" % datetime.now()).all()
最好的情况是在处理 Date 或 DateTime 列时我可以使用字符串或日期(可互换)(我尝试过 TypeDecorator 无济于事)
请注意,问题是指 raw sql(我知道这可以使用谓词来完成)...
【问题讨论】:
标签: python date sqlalchemy