关于数据库date类型的操作
oracle数据库中的data类型,存的内容为 2020-12-24 10:00:00
用ResultSet进行查询数据并且获取
rs.getDate 只能取出 年月日 为 2020-12-24
rs.getTime 只能获取到 时分秒 10:00:00
rs.getTimestamp 能获取到当前时间戳 2020-12-24 10:00:00.0
场景:
我有一个程序,需要同步某个库的某个表到另外一个库中,然后首先是同步表结构,比如列类型什么的,然后就是处理数据。
然而之前的代码进行处理的时候,对于date类型的数据进行这样处理,导致只同步了年月日。然后用年月日作为唯一条件时可能有多条。他的处理方式为:
stat.setObject(j, ts);
然后我尝试用dateformat进行转化,然后进行同步,但是会报错,java.util.Date cannot be cast to java.sql.Date
我需要的是将年月日时分秒都进行同步,然后用时间作为唯一条件时可以避免出现查询多条的情况。可以进行以下方式的处理。这样就可以避免数据同步不全的问题。
else if(columnTypeName.equals("DATE")){
java.sql.Timestamp ts = rs.getTimestamp(j);
stat.setObject(j, ts);