SQL日期和时间与Java日期和时间之间的区别应该使用哪些?

时间:2012-08-27 09:04:32

标签: java sql-server-2005

我需要更新带有日期和时间的记录,但我很困惑使用sql server 2005的CURRENT_TIMESTAMP或JAVA的日期对象,两者都给我相同的结果。

示例:

select CURRENT_TIMESTAMP

这将打印2012-08-27 14:30:17.193

以下这个java代码也会明显地做同样的事情,但有什么不同。

           Date dNow = new Date( );
           SimpleDateFormat ft = 
           new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss.SSS ");

           System.out.println("Current Date: " + ft.format(dNow));

更新

我有2个prepareStatement,因为我使用了CURRENT_TIMESTAMP,而第二个我使用了JAVA的日期对象(日期对象让它成为util.Date或sql.Date)。

语句1

  pst = con.prepareStatement("insert into sLog(logUser, logType, logSystem, logTime)
             values(?, ?, ?, CURRENT_TIMESTAMP)");
                    pst.setString(1, logUser);
                    pst.setString(2, logType);
                    pst.setString(3, logSystem);
                    pst.executeUpdate();

语句2

pst = con.prepareStatement("insert into sLog(logUser, logType, logSystem, logTime)
             values(?, ?, ?, ?)");
                pst.setString(1, logUser);
                pst.setString(2, logType);
                pst.setString(3, logSystem);
                pst.setString(4, format(dNow));
                pst.executeUpdate();

1 个答案:

答案 0 :(得分:0)

第一种方法直接使用SQL函数。它具有数据库依赖性。第二种方法通过java方法,不能直接使用SQL函数。它没有数据库依赖。如果你想使用可移植代码,使用第二种方法。