sql
1CREATE TABLE test ( 2 "ID" character(8) NOT NULL, 3 "日時" timestamp without time zone 4);
上記SQLで作られたテーブルに、
java
1stmt = conn.prepareStatement("insert into test values (1,'20170308')"); 2stmt.executeUpdate();
と実行すると正常にデータが登録されます。
ただし、
java
1stmt = conn.prepareStatement("insert into test values (2,?)"); 2stmt.setString(1,"20170308"); 3stmt.executeUpdate();
と実行すると以下のエラーになります。
org.postgresql.util.PSQLException: ERROR: 列"日時"は型timestamp without time zoneですが、式は型character varyingでした
ステートメントに引数を実行した場合のみ暗黙的な変換は行われないのでしょうか。
この場合、引数を適切な形で登録するしかないのでしょうか。
どのようなやり方があるのか教えて頂けませんか。
PostgreSqlは9.6、javaは1.6です。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/08 05:32
2017/03/08 05:39 編集
2017/03/08 05:54
2017/03/08 06:16