Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

RR vs YY di Oracle

Saat memformat tanggal di Oracle Database, kami memiliki opsi untuk menggunakan RR dan YY untuk mengembalikan tahun dua digit.

Kedua elemen format ini serupa. Perbedaannya terletak pada cara mereka menafsirkan dua digit tahun.

Kami juga memiliki opsi untuk menggunakan RRRR dan YYYY saat mengembalikan empat digit tahun.

Contoh

Berikut adalah contoh yang membandingkan RR dan YY elemen format:

SELECT 
    TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-RR'), 'YYYY') AS "RR",
    TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-YY'), 'YYYY') AS "YY"
FROM DUAL;

Hasil:

     RR      YY 
_______ _______ 
1981    2081   

Kita dapat melihat bahwa RR menafsirkan tahun 81 sebagai 1981, sedangkan YY menafsirkannya sebagai 2081.

  • Saat menggunakan YY , tahun yang ditampilkan selalu memiliki 2 digit pertama yang sama dengan tahun saat ini.
  • Dengan RR , abad nilai pengembalian bervariasi sesuai dengan tahun dua digit yang ditentukan dan dua digit terakhir tahun berjalan.

Begini cara dokumentasi Oracle menjelaskannya:

  • Jika tahun dua digit yang ditentukan adalah 00 hingga 49, maka
    • Jika dua digit terakhir tahun berjalan adalah 00 sampai 49, maka tahun yang dikembalikan memiliki dua digit pertama yang sama dengan tahun berjalan.
    • Jika dua digit terakhir dari tahun berjalan adalah 50 hingga 99, maka 2 digit pertama dari tahun yang ditampilkan adalah 1 lebih besar dari 2 digit pertama tahun ini.
  • Jika tahun dua digit yang ditentukan adalah 50 hingga 99, maka
    • Jika dua digit terakhir dari tahun berjalan adalah 00 sampai 49, maka 2 digit pertama dari tahun yang dikembalikan adalah 1 kurang dari 2 digit pertama dari tahun berjalan.
    • Jika dua digit terakhir tahun berjalan adalah 50 hingga 99, maka tahun yang dikembalikan memiliki dua digit pertama yang sama dengan tahun berjalan.

RRRR dan YYYY Elemen Format

Berikut adalah contoh yang membandingkan RRRR dan YYYY elemen format:

SELECT 
    TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-RRRR'), 'YYYY') AS "RRRR",
    TO_CHAR(TO_DATE('20-Dec-81', 'DD-Mon-YYYY'), 'YYYY') AS "YYYY"
FROM DUAL;

Hasil:

   RRRR    YYYY 
_______ _______ 
1981    0081   

Dalam hal ini, RRRR mengembalikan tahun yang sama dengan RR memang, tapi YYYY mengembalikan tahun 0081.

Contoh di atas mengasumsikan bahwa Anda tahu bagaimana TO_CHAR() dan TO_DATE() kerja. Lihat Oracle TO_CHAR(datetime) Fungsi dan Oracle TO_DATE() Fungsi di Oracle untuk info lebih lanjut.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tabel partisi Oracle

  2. Pengembang Oracle SQL:Tampilkan Hasil REFCURSOR di Grid?

  3. Cara Membuat Laporan PDF Menggunakan PL/SQL

  4. Mengaktifkan TLS di Oracle Apps R12.2

  5. Paksa penggunaan indeks di Oracle