oracleのタイプスタンプ型

stmt.execute("INSERT INTO テーブル VALUES( TO_TIMESTAMP('2002-12-18 19:34:45.000343', 'YYYY-MM-DD HH24:MI:SS.FF6') )"); とする必要があるかと思います。

PreparedStatementを使うのであれば
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO テーブル VALUES(?)");
// Timestamp ts1 = new Timestamp(System.currentTimeMillis());
Timestamp ts1 = Timestamp.valueOf("2002-12-18 19:34:45.000343");
pstmt.setTimestamp (1, ts1);
pstmt.execute();
ですね。


オラクル様のタイムスタンプ型ではまった。
ORA-01843でinvalid monthとか言いやがった。
変なフォーマットでparseしているみたいで、insertは大丈夫だけど、updateがダメだった。変なの。
とりあえずここまでしなくとも頭にTIMESTAMPってつけたら直った。

| | PCカテゴリ | コメント(0)

コメントする

Powered by Movable Type 4.261