Podpora NLS z ovladače JDBC byla upuštěna v Oracle 10g . Bez ohledu na to bych vám doporučil, abyste se při formátování dat neopírali o funkci NLS specifickou pro Oracle.
Chcete-li formátovat datum načtené z jakékoli databáze v jazyce Java, postupujte takto:
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));
Všimněte si, že instance SimpleDateFormat je opakovaně použitelná, ale není bezpečná pro vlákna .
Pokud používáte Java 8, možná budete chtít místo toho použít nové a vylepšené Java Time API. Bohužel, ResultSet ještě nebyl aktualizován, aby vrátil instanci DateTime, takže musíte převést. Podívejte se na DateTimeFormatter a tato otázka o tom, jak převést ze starého na nový. Kromě jiných výhod je DateTimeFormatter plně bezpečný pro vlákna.
Vzory formátu pro starý i nový styl jsou stejné; zde jsou dokumenty pro nový.