Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

NLS_DATE_FORMAT với JDBC

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cài đặt trạng thái chuẩn bị trống cho NUMBER_ARRAY không hoạt động

  2. Oracle - tham gia cập nhật - bảng không lưu giữ khóa

  3. Làm cách nào để sử dụng Hibernate Session.doWork (...) cho các điểm lưu / giao dịch lồng nhau?

  4. Tính toán chênh lệch giữa hai dấu thời gian trong Oracle bằng mili giây

  5. INST_TOP (Oracle R12 INSTANCE_HOME) đã được giải mã