Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Usando setDate em PreparedStatement

❐ Usando java.sql.Date


Se sua tabela tiver uma coluna do tipo DATE :

  • java.lang.String

    O método java.sql.Date.valueOf(java.lang.String) recebeu uma string representando uma data no formato yyyy-[m]m-[d]d . por exemplo.:
    ps.setDate(2, java.sql.Date.valueOf("2013-09-04"));
    

  • java.util.Date

    Suponha que você tenha uma variável endDate do tipo java.util.Date , você faz a conversão assim:
    ps.setDate(2, new java.sql.Date(endDate.getTime());
    

  • Atual

    Se você deseja inserir a data atual:
    ps.setDate(2, new java.sql.Date(System.currentTimeMillis()));
    
    // Since Java 8
    ps.setDate(2, java.sql.Date.valueOf(java.time.LocalDate.now()));
    

❐ Usando java.sql.Timestamp


Se sua tabela tiver uma coluna do tipo TIMESTAMP ou DATETIME :

  • java.lang.String

    O método java.sql.Timestamp.valueOf(java.lang.String) recebeu uma string representando uma data no formato yyyy-[m]m-[d]d hh:mm:ss[.f...] . por exemplo.:
    ps.setTimestamp(2, java.sql.Timestamp.valueOf("2013-09-04 13:30:00");
    

  • java.util.Date

    Suponha que você tenha uma variável endDate do tipo java.util.Date , você faz a conversão assim:
    ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));
    

  • Atual

    Se você precisar do carimbo de data/hora atual:
    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()));