oracle sql 日期错误
oracle sql date errors
我需要你的帮助!
我有一个在 jdbcTemplate 中执行的 sql 查询,如下所示:
public String Insertquery(FichierEclate e) {
String var="(null)";
String tableName="TF02_HISTO_"+Country;
String sql = "INSERT INTO " + tableName + " (TF02TFID, TF02STID, TF02DATE, TF02UID) VALUES (" + e.getAffaireID() + ", 4, TO_TIMESTAMP('" +e.getDate()+ "','yyyy-mm-dd hh24:mi:ss')," + var +")";
return sql;
}
那我打个电话:
String Inquery=Insertquery(item);
vJdbcTemplate.execute(Inquery);
我对更新查询执行了相同的步骤,它运行得非常好!!但是在插入查询中,它显示此错误:
StatementCallback; SQL [INSERT INTO TF02_HISTO_MN (TF02TFID, TF02STID, TF02DATE, TF02UID) VALUES (25472563, 4, TO_TIMESTAMP('2021-03-01 00:45:00.0','yyyy-mm-dd hh24:mi:ss'),(null))]; ORA-01830: date format picture ends before converting entire input string
; nested exception is java.sql.SQLDataException: ORA-01830: date format picture ends before converting entire input string
我想我不需要 TO_TIMESTAMP 或 TO_DATE 因为 jdbcTemplate 会自动进行转换!!
当我删除 TO_TIMESTAMP 时,出现类型错误:
missing comma
怎么办!!!!
顺便说一句,这个对象:FichierEclate e 使用的是时间戳类型的 属性“日期”,而我使用的是 oracle!这是我的数据库中写入日期的格式示例:
2021-03-01 00:45:00
怎么办?!!!!!!!!!!
来自 this answer,使用绑定变量:
vJdbcTemplate.update(
"INSERT INTO TF02_HISTO_" + country
+ " ( TF02TFID, TF02STID, TF02DATE, TF02UID ) VALUES ( ?, 4, ?, null )",
item.getAffaireID(), item.getDate()
);
这就是解决方案!谢谢大家的帮助:)
vJdbcTemplate.update(
"INSERT INTO TF02_HISTO_" + country
+ " ( TF02TFID, TF02STID, TF02DATE, TF02UID ) VALUES ( ?, 4, ?, null )",
item.getAffaireID(), item.getDate()
);
我需要你的帮助!
我有一个在 jdbcTemplate 中执行的 sql 查询,如下所示:
public String Insertquery(FichierEclate e) {
String var="(null)";
String tableName="TF02_HISTO_"+Country;
String sql = "INSERT INTO " + tableName + " (TF02TFID, TF02STID, TF02DATE, TF02UID) VALUES (" + e.getAffaireID() + ", 4, TO_TIMESTAMP('" +e.getDate()+ "','yyyy-mm-dd hh24:mi:ss')," + var +")";
return sql;
}
那我打个电话:
String Inquery=Insertquery(item);
vJdbcTemplate.execute(Inquery);
我对更新查询执行了相同的步骤,它运行得非常好!!但是在插入查询中,它显示此错误:
StatementCallback; SQL [INSERT INTO TF02_HISTO_MN (TF02TFID, TF02STID, TF02DATE, TF02UID) VALUES (25472563, 4, TO_TIMESTAMP('2021-03-01 00:45:00.0','yyyy-mm-dd hh24:mi:ss'),(null))]; ORA-01830: date format picture ends before converting entire input string
; nested exception is java.sql.SQLDataException: ORA-01830: date format picture ends before converting entire input string
我想我不需要 TO_TIMESTAMP 或 TO_DATE 因为 jdbcTemplate 会自动进行转换!! 当我删除 TO_TIMESTAMP 时,出现类型错误:
missing comma
怎么办!!!! 顺便说一句,这个对象:FichierEclate e 使用的是时间戳类型的 属性“日期”,而我使用的是 oracle!这是我的数据库中写入日期的格式示例:
2021-03-01 00:45:00
怎么办?!!!!!!!!!!
来自 this answer,使用绑定变量:
vJdbcTemplate.update(
"INSERT INTO TF02_HISTO_" + country
+ " ( TF02TFID, TF02STID, TF02DATE, TF02UID ) VALUES ( ?, 4, ?, null )",
item.getAffaireID(), item.getDate()
);
这就是解决方案!谢谢大家的帮助:)
vJdbcTemplate.update(
"INSERT INTO TF02_HISTO_" + country
+ " ( TF02TFID, TF02STID, TF02DATE, TF02UID ) VALUES ( ?, 4, ?, null )",
item.getAffaireID(), item.getDate()
);