我有一个非常简单的Microsoft SQL查询,我正在尝试将其转换为SQLAlchemy
我在这里阅读了文档:https://docs.sqlalchemy.org/en/13/core/tutorial.html#functions。然后,我尝试了一些东西,包括Python datetime,但作为SQLAlchemy初学者,我似乎仍然缺少一些东西
MSSQL代码:
SELECT flight_ID FROM
flight_table
WHERE FlightStartTime < DATEADD(day, -1, GETDATE())
SQLAlchemy代码:
from sqlalchemy import func
table_ref = flight_table # Used reflection
num_day = -1
stmt = select([table_ref.c.flight_ID])
where_column = flight_table.columns.FlightStartTime
stmt = stmt.where(
where_column < func.dateadd(func.day(), num_day,
func.getdate())
)
with self.engine.connect() as conn:
output = conn.execute(stmt).fetchall()
我得到的错误如下:
sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError) ('42000', '[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]The day function requires 1 argument(s). (174) (SQLExecDirectW);
这个错误是可以理解的,因为我需要找到与MicrosoftSQL查询中定义的“day”对应的SQLAlchemy
任何指点都将不胜感激
谢谢
您可以使用SQLAlchemy
text
函数创建将在查询表达式中使用的文本:生成的SQL命令文本为
相关问题 更多 >
编程相关推荐