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

Cách viết mã trong Oracle SQL (như 'CCYYMMDD' thành 102)

Bạn không thể viết một hàm để xác định chuỗi ngày dạng số nào tương ứng với định dạng nào vì chuỗi ngày có thể là nhiều định dạng:

Ví dụ:010203 có thể là:

  • Định dạng 2:DDMMYY 1 tháng 2 03
  • Định dạng 3:MMDDYY 2 tháng 1, 03
  • Định dạng 101:YYMMDD 3 tháng 2, 01
  • Định dạng 306:DDHHMM 02:03 ngày 1
  • Định dạng 402:HHMMSS 01:02:03
  • Định dạng 405:MMMMSS 102 phút 3 giây
  • Định dạng 610:CCYYMM 0102 tháng 3
  • Định dạng 616:CCYYWW Tuần 3 của 0102

Tương tự 10080102 có thể là:

  • Định dạng 4:DDMMCCYY 10 tháng 8, 102
  • Định dạng 102:CCYYMMDD Ngày 2 tháng 1 năm 1008
  • Định dạng 305:MMDDHHMM Ngày 8 tháng 10 01:02
  • Định dạng 501:HHMMHHMM Khoảng thời gian từ 10:08 đến 01:01

Bạn không thể, như tôi đã mô tả ở trên, không rõ ràng một số giá trị là gì và chúng có thể trả về nhiều định dạng. Thay vào đó, bạn nên tạo một cột khác và lưu trữ định dạng ngày trong đó khi người dùng nhập ngày thay vì cố gắng tạo lại mã định dạng từ một số (không rõ ràng).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn Giá trị từ Biến / Mảng Bảng Oracle?

  2. Gọi một thủ tục PL / SQL khác trong một thủ tục

  3. ClassCastException:org.jboss.jca.adapters.jdbc.jdk6.WrappedPreparedStatementJDK6 không thể được truyền sang OraclePreparedStatement

  4. Tạo Biểu mẫu trong APEX để đặt Biến trong Truy vấn cho Báo cáo tương tác

  5. Cách thay đổi Cổng Web trong EBS 12.2