Oracle
 sql >> Baza danych >  >> RDS >> Oracle

RR vs YY w Oracle

Podczas formatowania dat w Oracle Database mamy możliwość użycia YY i YY zwrócić dwucyfrowy rok.

Te dwa elementy formatu są podobne. Różnica polega na tym, jak interpretują dwucyfrowe lata.

Mamy również możliwość użycia YYYY i YYYY przy zwrocie lat czterocyfrowych.

Przykład

Oto przykład porównujący YY i YY elementy formatu:

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;

Wynik:

     RR      YY 
_______ _______ 
1981    2081   

Widzimy, że YY interpretuje rok 81 jako 1981, podczas gdy YY interpretuje to jako 2081.

  • Gdy używasz YY , zwrócony rok ma zawsze te same pierwsze 2 cyfry co rok bieżący.
  • Z YY , wiek wartości zwracanej różni się w zależności od podanego dwucyfrowego roku i dwóch ostatnich cyfr bieżącego roku.

Oto, jak wyjaśnia to dokumentacja Oracle:

  • Jeżeli podany dwucyfrowy rok wynosi od 00 do 49, to
    • Jeśli ostatnie dwie cyfry bieżącego roku to 00 do 49, to zwrócony rok ma te same pierwsze dwie cyfry co rok bieżący.
    • Jeśli ostatnie dwie cyfry bieżącego roku to od 50 do 99, to pierwsze 2 cyfry zwróconego roku są o 1 większe niż pierwsze 2 cyfry bieżącego roku.
  • Jeśli podany dwucyfrowy rok wynosi od 50 do 99, to
    • Jeśli ostatnie dwie cyfry bieżącego roku to 00-49, to pierwsze 2 cyfry zwróconego roku są o 1 mniejsze niż pierwsze 2 cyfry bieżącego roku.
    • Jeśli ostatnie dwie cyfry bieżącego roku to od 50 do 99, to zwrócony rok ma te same dwie pierwsze cyfry co rok bieżący.

YYYY i YYYY Formatuj elementy

Oto przykład porównujący YYYY i YYYY elementy formatu:

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;

Wynik:

   RRRR    YYYY 
_______ _______ 
1981    0081   

W tym przypadku YYYY zwraca ten sam rok, w którym YY tak, ale YYYY zwraca rok 0081.

Powyższe przykłady zakładają, że wiesz, jak TO_CHAR() i TO_DATE() praca. Zobacz Oracle TO_CHAR(datetime) Funkcja i Oracle TO_DATE() Funkcja w Oracle, aby uzyskać więcej informacji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak usunąć wiodące zera z dat w Oracle?

  2. UPDATE z CASE i IN - Oracle

  3. Eksportuj dane do pliku JSON w Oracle 11g przy użyciu PL/SQL

  4. Anonimowy typ TABLE lub VARRAY w Oracle

  5. SELECT z tabeli z listą Varying IN w klauzuli WHERE