如何在SqlSoup查询中添加TIMESTAMPDIFF?
我有一个报告程序在运行,使用的是SqlSoup,除了MySQL的一个函数TIMESTAMPDIFF
,其他的查询都是通过SqlSoup生成的。
实际的SQL语句应该是
TIMESTAMPDIFF(PERIOD, start_time, end_time) <= 60
我尝试过
from sqlalchemy.sql.expression import func
还有一个where子句(其中rc
是指向数据库和表的引用)
where = and_(where, func.TIMESTAMPDIFF('PERIOD',rc.start_time,rc.end_time) <= 60)
这个可以编译,但在记录日志时显示PERIOD
为%s
,然后下面有一个参数PERIOD
,这似乎不起作用。
有没有什么方法可以用SqlSoup做到这一点?
1 个回答
5
sqlalchemy.text()
在这种情况下是你的好帮手 :-)
试试这个:
sqlalchemy.func.TIMESTAMPDIFF(sqlalchemy.text('PERIOD'),rc.start_time,rc.end_time) <= 60)