sql >> Databáze >  >> RDS >> Oracle

NLS_DATE_FORMAT s JDBC

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ý.




  1. SQL Server:Připojte nesprávnou verzi 661

  2. Skalární vkládání UDF v SQL Server 2019

  3. Kde se zaznamenávají pokusy o připojení k serveru SQL?

  4. jak mohu počítat stav změněný/aktualizovaný podle kategorií za konkrétní měsíc