2012-07-17 45 views
0

可能重複:
MySql datetime not returning time查詢在java中不同的是,在MySQL的

如果我這樣做,從consele的mysql:

SELECT CREATION from MYDATABASE WHERE NAME='MyData'; 

我得到2012-07-12 13:42:55

但如果這樣做從Java:

String sql = "SELECT CREATION from MYDATABASE WHERE NAME=?"; 
    PreparedStatement ps = null; 
    String creationQuery; 
    ResultSet rs = null; 
    try 
    { 
     ps = conn.prepareStatement(sql); 
     ps.setString(1, "MyData"); 
     rs = ps.executeQuery(); 

     creationQuery = rs.next() ? rs.getString(1) : null; 
    } 

我得到2012-07-12 13:42:55.0

爲什麼?

+0

http://stackoverflow.com/questions/2305973/java-util-date-vs-java-sql-date請參閱java和sql的日期對象之間的差異 – gtiwari333 2012-07-17 10:26:17

+0

非常感謝您和抱歉重複 – Jjreina 2012-07-17 10:58:05

回答

4

它與你從Java查詢中收到的是java.sql.Timestamp這個事實有關,它是常規的util.Date也包含納秒的封裝。
如果你看一下這個類的toString()方法,你看到它被覆蓋使用的格式

YYYY-MM-DD HH:MM:ss.fffffffff

其中

fffffffff

代表納秒。

儘管這兩個結果都代表了同一時間,但這只是表示形式的差異。