Hỗ trợ NLS từ trình điều khiển JDBC bị giảm trong Oracle 10g . Bất kể, tôi khuyên bạn không nên dựa vào chức năng NLS dành riêng cho Oracle để định dạng ngày tháng của bạn.
Để định dạng một ngày tháng được truy xuất từ bất kỳ cơ sở dữ liệu nào trong Java, hãy làm như sau:
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));
Lưu ý rằng một phiên bản của SimpleDateFormat là có thể sử dụng lại nhưng không an toàn cho chuỗi .
Nếu bạn đang sử dụng Java 8, bạn có thể muốn sử dụng API thời gian Java mới và cải tiến. Rất tiếc, ResultSet vẫn chưa được cập nhật để trả về một phiên bản của DateTime, vì vậy bạn phải chuyển đổi. Xem DateTimeFormatter và câu hỏi này về cách chuyển đổi từ cũ sang mới. Trong số các ưu điểm khác, DateTimeFormatter hoàn toàn an toàn cho chuỗi.
Các mẫu định dạng cho cả kiểu cũ và kiểu mới đều giống nhau; đây là tài liệu cho cái mới.