5

SqlSoup を実行して使用しているレポート プログラムがあり、 MySqL Function を除いて 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)

これはコンパイルされますが、ログオンするとPERIODas%sとその下のパラメーターが表示されPERIOD ますが、これは機能していないようです。

SqlSoupでこれを行うためのアイデアはありますか?

4

1 に答える 1

5

sqlalchemy.text()この場合はあなたの友達です:-)

試す:

sqlalchemy.func.TIMESTAMPDIFF(sqlalchemy.text('PERIOD'),rc.start_time,rc.end_time) <= 60)
于 2011-10-26T21:32:31.473 に答える