次のクエリを実行しようとしています
INSERT INTO hotspot(timestamp) VALUES
(timestamp with time zone '2012-10-25 14:00:00 +05:00' at time zone 'EET');
タイムスタンプを変数として渡したい。
私のタイムスタンプ列は、タイムゾーン付きのタイムスタンプのタイプです。
これをどのように行うことができるか考えていますか?
いつ... (Java、Postgresql)
String stm= "INSERT INTO hotspot(timestamp) VALUES(timestamp with time zone ? at time zone 'EET')";
pst = con.prepareStatement(stm);
pst.setString(1, "2012-08-24 14:00:00 +05:00");
pst.executeUpdate();
「$1」またはその付近で構文エラーが発生します
とにかく私はこのエラーを克服することができますか?? 前もって感謝します!!
更新:次の方法で setTimestamp を使用しようとしました...
Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+05:00"));
String stm= "INSERT INTO hotspot(timestamp) VALUES(?)";
pst = con.prepareStatement(stm);
pst.setTimestamp(1,Timestamp.valueOf("2012-01-05 14:00:00"), c );
pst.executeUpdate();
DBの正しい値は(私のローカルタイムゾーンがEET(+02)であることに関して)
2012-01-05 11:00:00 +02
しかし、pgadminを使用して値を確認すると、
2012-01-05 14:00:00 +02
助言がありますか?