如何将timestampdiff添加到sqlsoup查询?

9cbw7uwe  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(337)

我有一个运行并使用sqlsoup的报告程序,现在除了mysql函数外,所有查询都由sqlsoup调用生成 TIMESTAMPDIFF .
实际的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做这个有什么想法吗?

vql8enpb

vql8enpb1#

sqlalchemy.text() 在这种情况下,您的朋友是:-)
尝试:

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

相关问题