Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Używanie setDate w PreparedStatement

❐ Używanie java.sql.Date

Jeśli Twoja tabela zawiera kolumnę typu DATE :

  • java.lang.String

    Metoda java.sql.Date.valueOf(java.lang.String) otrzymał ciąg reprezentujący datę w formacie yyyy-[m]m-[d]d . np.:

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

    Załóżmy, że masz zmienną endDate typu java.util.Date , dokonujesz konwersji w ten sposób:

    ps.setDate(2, new java.sql.Date(endDate.getTime());
    
  • Bieżący

    Jeśli chcesz wstawić aktualną datę:

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

❐ Używanie java.sql.Timestamp

Jeśli Twoja tabela zawiera kolumnę typu TIMESTAMP lub DATETIME :

  • java.lang.String

    Metoda java.sql.Timestamp.valueOf(java.lang.String) otrzymał ciąg reprezentujący datę w formacie yyyy-[m]m-[d]d hh:mm:ss[.f...] . np.:

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

    Załóżmy, że masz zmienną endDate typu java.util.Date , dokonujesz konwersji w ten sposób:

    ps.setTimestamp(2, new java.sql.Timestamp(endDate.getTime()));
    
  • Bieżący

    Jeśli potrzebujesz aktualnego znacznika czasu:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyjątek ORA-08103:obiekt nie istnieje już przy użyciu setfetchsize w Hibernate

  2. Wybór NOT IN z wartościami NULL

  3. Oracle:unikatowość selektywna indeksu na podstawie funkcji

  4. Usunąć wszystkie rekordy oprócz ostatniego?

  5. Klauzula Where Oracle SQL do znajdowania rekordów dat starszych niż 30 dni