sql >> Database >  >> RDS >> Oracle

NLS_DATE_FORMAT met JDBC

NLS-ondersteuning van het JDBC-stuurprogramma is vervallen in Oracle 10g . Hoe dan ook, ik raad je aan om niet te leunen op de Oracle-specifieke NLS-functionaliteit om je datums op te maken.

Ga als volgt te werk om een ​​datum op te maken die is opgehaald uit een database in 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));

Merk op dat een instantie van SimpleDateFormat herbruikbaar is, maar niet threadveilig .

Als u Java 8 gebruikt, wilt u misschien de nieuwe en verbeterde Java Time API gebruiken. Helaas is ResultSet nog niet bijgewerkt om een ​​exemplaar van DateTime te retourneren, dus u moet converteren. Bekijk DateTimeFormatter en deze vraag over hoe u van oud naar nieuw kunt converteren. Naast andere voordelen is DateTimeFormatter volledig thread-safe.

De formaatpatronen voor zowel de oude als de nieuwe stijl zijn hetzelfde; hier zijn de documenten voor de nieuwe.




  1. Hoe wijzig ik een enkele eigenschapswaarde binnen het PostgreSQL JSONB-gegevenstype?

  2. PHP-Mysql tabel join van verschillende host

  3. Hoe verbind ik node.js met mysql en wamp/xampp-server?

  4. Waarom in PostgreSQL enum type array null-waarden toegestaan?