sql >> Database teknologi >  >> RDS >> Mysql

MySQL datetime ikke returtid

Du skal bruge metoderne getTime() eller getTimestamp() som foreslået i kommentaren af ​​Thomas. Men for at give et eksempel...

Sig for en tabel, du forespørger som denne:rs = stmt.executeQuery("select timeCol, dateCol, dateTimeCol from dateTimeTable");

Du kunne gøre:

java.sql.Time dbSqlTime = rs.getTime(1);
java.sql.Date dbSqlDate = rs.getDate(2);
java.sql.Timestamp dbSqlTimestamp = rs.getTimestamp(3);

Hvis du vil bruge Java-datoobjektet:

java.util.Date dbSqlTimeConverted = new java.util.Date(dbSqlTime.getTime());
java.util.Date dbSqlDateConverted = new java.util.Date(dbSqlDate.getTime());

Jeg ville også tjekke JodaTime for at arbejde med Dates i Java, gør livet meget enklere.

Endelig er det værd at bemærke, at der er et par forskelle mellem Timestamp og DateTime i MySQL. Nemlig at Timestamp har en tidszone og serveren vil returnere et forespurgt Timestamp i Serverens lokale tid (hvilket kan være irriterende). Mit råd er at bruge DateTime og altid holde datoer/klokkeslæt i samme tidszone (dvs. UTC). Se http://dev.mysql.com/doc/refman/ 5.0/da/datetime.html



  1. Advarsel:PDOStatement::execute():SQLSTATE[HY093]:Ugyldigt parameternummer:parameter blev ikke defineret i...filtekst

  2. F# Begynder:Hentning af en række data fra en server

  3. Sådan opretter du PL/SQL SYS_REFCURSOR i Oracle-databasen

  4. Værdi Fejl under import af data til postgres-tabellen ved hjælp af psycopg2