1
Postgres 9.6.2のテーブルのtimestamp with time zone
カラムに将来の日付をINSERT
にしようとしています。この日付は、現在のトランザクション時間に任意の間隔(1時間など)を加えたものになります。 私はSELECT
文で日付/時刻演算を行う方法を理解しますが、NOW() + INTERVAL '1 hour'
の同じ構文がINSERT
文で有効ではないようです。Postgres 9.xでnow()+ INTERVALを挿入する方法
ほかに、アプリケーションレベルでこれを達成するから、それは、日付/時刻演算を使用して、単一のINSERT
文を使用して、これを達成することは可能でしょうか?もしそうでなければ、この状況では何がベストプラクティスでしょうか?
これは非常に興味深いものです。あなたが提供したSQLは、私が望むように正確に動作します。また、この構文で完全なクエリを実行した場合にのみ、正常に動作することを期待していました。私のnode.jsミドルウェアでpgadminでクエリを実行すると、構文エラーが発生します。 エラー:タイムゾーン付きタイムスタンプタイプの入力構文が無効です: "NOW()+ INTERVAL '1時間'" ' 引用符で使用する正しい構文についてここには記載されていませんか?私は、pgadminがテーブルのデータを編集しているときに値を引用符で囲んでいるという印象を受けています。 – ajxs
引用符でエスケープする可能性があります – user2182349
あなたは正しいです。それは引用符でエスケープ問題だった。 postgresが二重引用符で囲まれていれば 'NOW()+ INTERVAL '1時間'という式を解析できないようです。それはかなり混乱しています。私の最初の質問に正しく答えたので、正解とマークしました!ありがとうございました! – ajxs