Mar*_*ins 5 python sqlalchemy sqlsoup
我有一个运行和使用 SqlSoup 的报告程序,并且现在通过 SqlSoup 调用生成了整个查询,除了 MySqL Function TIMESTAMPDIFF。
实际的 SQL 短语应该是
TIMESTAMPDIFF(PERIOD, start_time, end_time) <= 60
Run Code Online (Sandbox Code Playgroud)
我试过
from sqlalchemy.sql.expression import func
Run Code Online (Sandbox Code Playgroud)
和 where-clause 短语(rc引用数据库和表)
where = and_(where, func.TIMESTAMPDIFF('PERIOD',rc.start_time,rc.end_time) <= 60)
Run Code Online (Sandbox Code Playgroud)
这会编译,但登录后会显示PERIODas%s和PERIOD
下面的参数,这似乎不起作用。
使用 SqlSoup 执行此操作的任何想法?
sqlalchemy.text() 在这种情况下是你的朋友:-)
尝试:
sqlalchemy.func.TIMESTAMPDIFF(sqlalchemy.text('PERIOD'),rc.start_time,rc.end_time) <= 60)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1171 次 |
| 最近记录: |