在 SQLAlchemy 查询中使用 CDate()

Using CDate() in a SQLAlchemy query

我有一个包含文本格式日期的数据库,现在我需要过滤特定的日期范围。

这个查询对我有用:

SELECT CDate(field) AS df
FROM table
WHERE CDate(field)=Date();

遗憾的是我没有找到如何使用像这样的 SQLAlchemy 查询。

这对我有用:

import sqlalchemy as sa
import sqlalchemy_access as sa_a

# …

tbl = sa.Table("so71529087", sa.MetaData(), sa.Column("field", sa_a.DateTime))
tbl.drop(engine, checkfirst=True)
tbl.create(engine)

qry = sa.select(sa.func.CDate(tbl.c.field).label("df")).where(
    sa.func.CDate(tbl.c.field) == sa.text("Date()")
)
print(qry)
"""
SELECT CDate(so71529087.field) AS df 
FROM so71529087 
WHERE CDate(so71529087.field) = Date()
"""

with engine.begin() as conn:
    results = conn.execute(qry).all()