Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verwenden von setDate in PreparedStatement

❐ Verwendung von java.sql.Date

Wenn Ihre Tabelle eine Spalte vom Typ DATE hat :

  • java.lang.String

    Die Methode java.sql.Date.valueOf(java.lang.String) erhielt eine Zeichenfolge, die ein Datum im Format yyyy-[m]m-[d]d darstellt . zB:

    ps.setDate(2, java.sql.Date.valueOf("2013-09-04"));
    
  • java.util.Date

    Angenommen, Sie haben eine Variable endDate vom Typ java.util.Date , machen Sie die Konvertierung so:

    ps.setDate(2, new java.sql.Date(endDate.getTime());
    
  • Aktuell

    Wenn Sie das aktuelle Datum einfügen möchten:

    ps.setDate(2, new java.sql.Date(System.currentTimeMillis()));
    
    // Since Java 8
    ps.setDate(2, java.sql.Date.valueOf(java.time.LocalDate.now()));
    

❐ Verwendung von java.sql.Timestamp

Wenn Ihre Tabelle eine Spalte vom Typ TIMESTAMP hat oder DATETIME :

  • java.lang.String

    Die Methode java.sql.Timestamp.valueOf(java.lang.String) erhielt eine Zeichenfolge, die ein Datum im Format yyyy-[m]m-[d]d hh:mm:ss[.f...] darstellt . zB:

    ps.setTimestamp(2, java.sql.Timestamp.valueOf("2013-09-04 13:30:00");
    
  • java.util.Date

    Angenommen, Sie haben eine Variable endDate vom Typ java.util.Date , machen Sie die Konvertierung so:

    ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));
    
  • Aktuell

    Wenn Sie den aktuellen Zeitstempel benötigen:

    ps.setTimestamp(2, new java.sql.Timestamp(System.currentTimeMillis()));
    
    // Since Java 8
    ps.setTimestamp(2, java.sql.Timestamp.from(java.time.Instant.now()));
    ps.setTimestamp(2, java.sql.Timestamp.valueOf(java.time.LocalDateTime.now()));