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

NLS_DATE_FORMAT z JDBC

Obsługa NLS ze sterownika JDBC została porzucona w Oracle 10g . Niezależnie od tego sugeruję, abyś nie opierał się na specyficznej dla Oracle funkcji NLS do formatowania dat.

Aby sformatować datę pobraną z dowolnej bazy danych w Javie, wykonaj następujące czynności:

Connection conn = ods.getConnection();
Statement stat = conn.createStatement();

ResultSet rs = stat.executeQuery("select date_column from test_table");

DateFormat format = new SimpleDateFormat('yyyy-dd-MM');
System.out.println(format.format(rs.getDate(1));

Zwróć uwagę, że instancja SimpleDateFormat może być wielokrotnego użytku, ale nie jest bezpieczna dla wątków .

Jeśli używasz Javy 8, możesz zamiast tego użyć nowego i ulepszonego interfejsu Java Time API. Niestety, ResultSet nie został jeszcze zaktualizowany, aby zwracał instancję DateTime, więc musisz dokonać konwersji. Sprawdź DateTimeFormatter i to pytanie o tym, jak przekonwertować ze starego na nowy. Wśród innych zalet DateTimeFormatter jest w pełni bezpieczny dla wątków.

Wzorce formatu dla starego i nowego stylu są takie same; tutaj są dokumenty dla nowego.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie wartości sekwencyjnych dla klucza podstawowego w zapytaniu INSERT

  2. Indeks nie jest używany z powodu konwersji typu?

  3. Oracle — pobierz datę/godzinę w milisekundach z pola typu DATE

  4. Problem z wyrażeniem regularnym Oracle

  5. SQL*Plus nie wykonuje skryptów SQL, które robi SQL Developer