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.