插入时间戳记时出现ORA-01858错误

时间:2020-07-30 03:42:21

标签: java oracle java-8 oracle12c

我前端的时间戳格式是这样的

2020-7-23 14:36:43. 132000000

我在oracle数据库中的时间戳是这样的

23-07-20 02:36:43.132000000 PM

我更改了以下时间格式

private String OracleTsString(String createdDate)  {
        SimpleDateFormat inputFormat=null;
        SimpleDateFormat outputFormat = null;
        try {
        
          inputFormat = new SimpleDateFormat("yyyy-M-dd HH:mm:ss.SSSSSSSSS");
          Date date;
          date = inputFormat.parse(createdDate);
           outputFormat = new SimpleDateFormat("MM-dd-yy hh:mm:ss.SSSSSSSSS aa");
        
        }
   //Exception Handling

但是当我尝试将字符串插入数据库时​​,我得到的是 ORA-01858 :在期望数字的地方找到了非数字字符

下面是我的查询

jdbcTemplate.update(query, 
                editSftpBean.getSftpName(),
                editSftpBean.getIp_address(),
                editSftpBean.getPort_number(),
                editSftpBean.getUserName(),
                editSftpBean.getAuthentication(),
                oracleTs//My converted string
);

插入查询::

 INSERT INTO tabl_two (SFTP_NAME, IP_ADDRESS, PORT_NUMBER, USER_NAME, AUTH_TYPE,CREATED_DATE ) VALUES (?, ?, ?, ?, ?)

我该如何解决?

1 个答案:

答案 0 :(得分:3)

不要使用playsound将日期/时间值插入数据库,请使用Timestamp

String
相关问题