如何将TIMESTAMP DIFF添加到SqlSoup查询?

时间:2011-08-09 00:04:56

标签: python sqlalchemy sqlsoup

我有一个运行和使用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 个答案:

答案 0 :(得分:3)

在这种情况下,

sqlalchemy.text()是你的朋友: - )

尝试:

sqlalchemy.func.TIMESTAMPDIFF(sqlalchemy.text('PERIOD'),rc.start_time,rc.end_time) <= 60)