我有一个运行和使用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执行此操作的任何想法?
答案 0 :(得分:3)
sqlalchemy.text()
是你的朋友: - )
尝试:
sqlalchemy.func.TIMESTAMPDIFF(sqlalchemy.text('PERIOD'),rc.start_time,rc.end_time) <= 60)