Oracle
 sql >> Base de données >  >> RDS >> Oracle

Utilisation de setDate dans PreparedStatement

❐ Utilisation de java.sql.Date

Si votre table a une colonne de type DATE :

  • java.lang.String

    La méthode java.sql.Date.valueOf(java.lang.String) a reçu une chaîne représentant une date au format yyyy-[m]m-[d]d . par exemple :

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

    Supposons que vous ayez une variable endDate de type java.util.Date , vous faites la conversion ainsi :

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

    Si vous souhaitez insérer la date actuelle :

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

❐ Utilisation de java.sql.Timestamp

Si votre tableau a une colonne de type TIMESTAMP ou DATETIME :

  • java.lang.String

    La méthode java.sql.Timestamp.valueOf(java.lang.String) a reçu une chaîne représentant une date au format yyyy-[m]m-[d]d hh:mm:ss[.f...] . par exemple :

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

    Supposons que vous ayez une variable endDate de type java.util.Date , vous faites la conversion ainsi :

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

    Si vous avez besoin de l'horodatage actuel :

    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()));