0

重複の可能性:
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

なんで?

4

1 に答える 1

4

これは、Javaクエリから受け取るものが、ナノ秒を保持java.sql.Timestampする通常のラッパーであるという事実と関係があります。 そのクラスのメソッドを見ると、フォーマットを使用するためにオーバーライドされていることがわかります util.Date
toString()

yyyy-mm-dd hh:mm:ss.fffffffff

どこ

fffffffff

ナノ秒を表します。

両方の結果は同じ時間を表していますが、それは表現の違いにすぎません。

于 2012-07-17T10:34:44.873 に答える