Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

NLS_DATE_FORMAT com JDBC


O suporte NLS do driver JDBC foi descartado no Oracle 10g . Independentemente disso, recomendo que você não se apoie na funcionalidade NLS específica do Oracle para formatar suas datas.

Para formatar uma data recuperada de qualquer banco de dados em Java, faça o seguinte:
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));

Observe que uma instância de SimpleDateFormat é reutilizável, mas não segura para thread .

Se você estiver usando o Java 8, talvez queira usar a nova e aprimorada API do Java Time. Infelizmente, ResultSet ainda não foi atualizado para retornar uma instância de DateTime, então você precisa converter. Confira DateTimeFormatter e esta pergunta sobre como converter do antigo para o novo. Entre outras vantagens, DateTimeFormatter é totalmente seguro para threads.

Os padrões de formato para o estilo antigo e novo são os mesmos; aqui estão os documentos para o novo.