Oracle
 sql >> база данни >  >> RDS >> Oracle

NLS_DATE_FORMAT с JDBC

Поддръжката на NLS от JDBC драйвера беше изпусната в Oracle 10g . Независимо от това бих ви препоръчал да не разчитате на специфичната за Oracle NLS функционалност, за да форматирате вашите дати.

За да форматирате дата, извлечена от която и да е база данни в Java, направете следното:

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

Имайте предвид, че екземпляр на SimpleDateFormat е многократно използваем, но не е безопасен за нишки .

Ако използвате Java 8, може да искате вместо това да използвате новия и подобрен Java Time API. За съжаление, ResultSet все още не е актуализиран, за да върне екземпляр на DateTime, така че трябва да конвертирате. Вижте DateTimeFormatter и този въпрос за това как да конвертирате от старо в ново. Сред другите предимства, DateTimeFormatter е напълно безопасен за нишки.

Образците на формат както за стария, така и за новия стил са еднакви; ето ги документите за новия.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да итерирате през период от време в PL/SQL

  2. при използване на връзка към база данни на oracle има грешка ORA-12154 TNS не може да разреши указания идентификатор за свързване

  3. ORA-29908:липсващо първично извикване за спомагателен оператор

  4. Създаване на тригер за последователност на Oracle

  5. Използване на Oracle и PHP:Работи в SQL Developer, но резултатите от PHP файл ORA-00900:Невалидно изявление