Trac の次の SQL Lite ステートメント
SELECT
id,
changetime / 1000000 as 'MODIFIED',
strftime('%s',"now") as 'NOW',
((strftime('%s',"now")) - (changetime / 1000000)) as 'DIFF'
FROM ticket
WHERE (CAST(((strftime('%s',"now")) - (changetime / 1000000)) AS NUMERIC) < 86400.0)
次の出力が得られます。
「changetime」は Trac のフィールドです (型: int64)。私が達成したいのは、変更時間が1週間以内のすべてのチケットが選択されることです。changetime は int64 で、strftime は別のものを返すため、大きな問題がありました。これが、1000000 で割っている理由です。
スクリーンショットでわかるように、WHEREステートメントが常にfalseであるという問題がありますが、それが適用されるチケットがあります(一時的にWHERE句を削除した後にスクリーンショットを作成しました)。
誰が何がうまくいかないのか知っていますか?