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

2 funkcje, aby uzyskać rok z daty w Oracle

Poniżej znajdują się dwie funkcje, których można użyć do wyodrębnienia roku z daty w bazie danych Oracle.

EXTRACT() Funkcja

Możesz użyć EXTRACT(datetime) funkcja wyodrębniania różnych części daty i godziny z wartości daty i godziny. Obejmuje to rok.

Oto przykład:

SELECT EXTRACT(YEAR FROM DATE '2030-12-25')
FROM DUAL;

Wynik:

2030

To YEAR słowo kluczowe, które wyodrębnia część roku z daty. Możemy uzyskać inne części daty, zmieniając je na odpowiednie słowo kluczowe. Na przykład MONTH , DAY , HOUR , MINUTE itp.

Możemy również użyć funkcji z innymi wartościami datetime, takimi jak TIMESTAMP itp.

Funkcji można również użyć do zwrócenia roku z przedziału. Zobacz EXTRACT(datetime) Przykład funkcji w Oracle.

TO_CHAR(datetime) Funkcja

Możemy również użyć TO_CHAR(datetime) funkcjonować jako alternatywna metoda, aby uzyskać rok od daty.

Ta funkcja przyjmuje datę i godzinę lub wartość interwału jako swój pierwszy argument, a model formatu jako drugi argument. Funkcja następnie konwertuje wartość na typ danych VARCHAR2 w określonym formacie.

Model formatu określa format, dla którego ma zostać zwrócona wartość daty/godziny/interwału. Model formatu składa się z jednego lub więcej elementów formatu . Dzięki temu możemy starannie opracować wyniki, aby odzwierciedlić nasz pożądany format.

Jeśli chcemy zwrócić tylko rok, możemy użyć YYYY element formatu:

SELECT TO_CHAR(DATE '2027-10-03', 'YYYY')
FROM DUAL;

Wynik:

2,027

Możemy również zastosować alternatywy dla modelu formatu. Na przykład możemy użyć YY określić dwucyfrowy rok:

SELECT TO_CHAR(DATE '2027-10-03', 'YY')
FROM DUAL;

Wynik:

27

W rzeczywistości możemy mieć od jednego do czterech Y znaków, w zależności od naszych wymagań:

SELECT 
    TO_CHAR(DATE '2027-10-03', 'Y') AS Y,
    TO_CHAR(DATE '2027-10-03', 'YY') AS YY,
    TO_CHAR(DATE '2027-10-03', 'YYY') AS YYY,
    TO_CHAR(DATE '2027-10-03', 'YYYY') AS YYYY
FROM DUAL;

Wynik:

   Y    YY    YYY    YYYY 
____ _____ ______ _______ 
7    27    027    2027   

Dołącz przecinek

Możemy użyć Y,YYY element format, jeśli chcemy umieścić przecinek w wyniku:

SELECT TO_CHAR(DATE '2027-10-03', 'Y,YYY')
FROM DUAL;

Wynik:

2,027

Przeliteruj rok

Możemy nawet użyć YEAR element formatu do zwrócenia podanego roku:

SELECT TO_CHAR(DATE '2027-10-03', 'YEAR')
FROM DUAL;

Wynik:

TWENTY TWENTY-SEVEN

Daty BC

Możemy również zadbać o daty BC, poprzedzając nasz element formatu roku przedrostkiem S . W ten sposób poprzedź wynik znakiem minus, jeśli ma to zastosowanie:

SELECT 
    TO_CHAR(DATE '-250-10-03', 'SYYYY') AS SYYYY,
    TO_CHAR(DATE '-250-10-03', 'SYEAR') AS SYEAR
FROM DUAL;

Wynik:

   SYYYY         SYEAR 
________ _____________ 
-0250    -TWO FIFTY   

Alternatywnie możemy użyć BC lub BC. elementy formatu do obsługi dat BC:

SELECT 
    TO_CHAR(DATE '-250-10-03', 'YYYY BC') AS YYYY,
    TO_CHAR(DATE '-250-10-03', 'YEAR BC') AS YEAR,
    TO_CHAR(DATE '250-10-03', 'YYYY BC') AS YYYY,
    TO_CHAR(DATE '250-10-03', 'YEAR BC') AS YEAR
FROM DUAL;

Wynik:

      YYYY            YEAR       YYYY            YEAR 
__________ _______________ __________ _______________ 
0250 BC    TWO FIFTY BC    0250 AD    TWO FIFTY AD   

  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 umieścić więcej niż 1000 wartości w klauzuli Oracle IN

  2. Ważna data sprawdzania w Oracle

  3. Jak dodać wiodące zero do liczby w zapytaniu Oracle SQL?

  4. Jak wstawić ciąg zawierający &

  5. zwróć zbiór wyników z funkcji