これが機能しないのはなぜですか (パラメーターが 1 に設定されている場合):
SELECT * FROM TABLE WHERE TIMESTAMPFIELD > (CURRENT_TIMESTAMP - ?)
しかし、これは機能します:
SELECT * FROM TABLE WHERE TIMESTAMPFIELD > (CURRENT_TIMESTAMP - 1)
エラーメッセージが表示されます:"conversion error from string "39723.991882951" "
Firebird 2.1を使用しています
編集:
私は少し助けて自分で答えを見つけました:
SELECT * FROM TABLE WHERE TIMESTAMPFIELD > (CURRENT_TIMESTAMP - CAST(? as DECIMAL(18,9))
パラメータが float 値として指定されている場合に機能します。