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

ResultSet.getTimestamp(data) vs ResultSet.getTimestamp(data, Calendar.getInstance(tz))

Po pierwsze, mylisz java.util z java.sql . Podczas korzystania z PreparedStatement#setDate() oraz ResultSet#getDate() , potrzebujesz java.sql.Date . Analogicznie, przy użyciu PreparedStatement#setTimestamp() oraz ResultSet#getTimestamp() potrzebujesz java.sql.Timestamp .

Po drugie, ważne jest, aby zrozumieć, że java.sql.Date reprezentuje wyłącznie datę (rok, miesiąc, dzień) i nic mniej lub więcej. To ma być zmapowane na SQL DATE typ pola. java.sql.sygnatura czasowa reprezentuje sygnaturę czasową (rok, miesiąc, dzień, godzina, minuta, sekunda, milisekunda), dokładnie tak jak java.util.Date i java.util.Calendar czy. To ma być zmapowane na SQL TIMESTAMP lub DATETIME typ pola.

Jeśli chodzi o strefy czasowe, jest to potrzebne, gdy baza danych nie przechowuje informacji o strefie czasowej (dlatego wszystkie znaczniki czasu są przechowywane w UTC (GMT)). Następnie możesz przekazać Kalendarz w którym zawiera informacje o aktualnej strefie czasowej, dzięki czemu sterownik JDBC może dostosować znacznik czasu UTC do znacznika czasu zgodnego ze strefą czasową. Jeśli jest to na przykład GMT+1, sterownik JDBC doda godzinę do znacznika czasu przed powrotem.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Umieść zdarzenie w dzienniku zdarzeń systemu Windows za pomocą Oracle

  2. Oracle SQL, jak grupować według, ale mieć wiele wierszy, jeśli grupa zostanie powtórzona w późniejszym terminie

  3. błąd:ORA-65096:nieprawidłowa nazwa wspólnego użytkownika lub roli w oracle

  4. Jak usunąć określoną wartość z ciągu oddzielonego przecinkami w Oracle?

  5. Domyślne zachowanie automatycznego zatwierdzania połączenia JDBC