以下のコードを実行しようとすると、java.sql.SQLException: ORA-01861: literal does not match format string
エラーが発生します。
列の値の一部をテーブルからcustomer1_details
テーブルにコピーしようとしていcustomer2_details
ます。移動しようとしている列のデータ型は列TIMESTAMP(6)
用TIME_REGISTERED
で、DATE_DISCHARGED
列のデータ型DATE_OF_BIRTH
はDATE
try
{
Connection conn=Address.getOracleConnection();
int id = 1;
Date dob = null;
Timestamp timereg = null,datedischarged = null;
Statement stmt=conn.createStatement();
ResultSet res=stmt.executeQuery("SELECT TIME_REGISTERED,DATE_DISCHARGED,DATE_OF_BIRTH from customer1_details WHERE customer_id = '"+id+"' ");
if(res.next())
{
timereg=res.getTimestamp("TIME_REGISTERED");
datedischarged=res.getTimestamp("DATE_DISCHARGED");
dob=res.getDate("DATE_OF_BIRTH");
}
String sql1="INSERT INTO customer2_details(TIME_REGISTERED_3,DATE_DISCHARGED_3,DATE_OF_BIRTH,customer_ID) "
+ "VALUES('"+timereg+"','"+datedischarged+"','"+dob+"','"+id+"') ";
PreparedStatement pst=conn.prepareStatement(sql1);
pst.executeUpdate();
pst.close();
conn.close();
}
catch(Exception e)
{ System.out.print(e); }
誰かが答えを提供してくれると助かりますwithout using INSERT INTO ... SELECT ... statement
。