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

2 Fungsi untuk Mendapatkan Tahun dari Tanggal di Oracle

Di bawah ini adalah dua fungsi yang dapat digunakan untuk mengekstrak tahun dari tanggal di Oracle Database.

EXTRACT() Fungsi

Anda dapat menggunakan EXTRACT(datetime) berfungsi untuk mengekstrak berbagai bagian datetime dari nilai datetime. Ini termasuk tahun.

Ini contohnya:

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

Hasil:

2030

Ini adalah YEAR kata kunci yang mengekstrak bagian tahun dari tanggal. Kita bisa mendapatkan bagian tanggal lainnya dengan mengubahnya menjadi kata kunci yang relevan. Misalnya, MONTH , DAY , HOUR , MINUTE , dll.

Kita juga dapat menggunakan fungsi tersebut dengan nilai datetime lainnya, seperti TIMESTAMP , dll.

Fungsi ini juga dapat digunakan untuk mengembalikan tahun dari suatu interval. Lihat EXTRACT(datetime) Fungsi di Oracle sebagai contoh.

TO_CHAR(datetime) Fungsi

Kita juga dapat menggunakan the TO_CHAR(datetime) berfungsi sebagai metode alternatif untuk mendapatkan tahun dari tanggal.

Fungsi ini menerima datetime atau nilai interval sebagai argumen pertama, dan model format sebagai argumen kedua. Fungsi kemudian mengonversi nilai menjadi tipe data VARCHAR2 dalam format yang ditentukan.

Model format menentukan format untuk mengembalikan nilai datetime/interval. Model format terdiri dari satu atau lebih elemen format. Hal ini memungkinkan kami untuk dengan hati-hati menyusun hasil untuk mencerminkan format yang kami inginkan.

Jika kita hanya ingin mengembalikan tahun, kita dapat menggunakan YYYY elemen format:

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

Hasil:

2027

Kami juga dapat menggunakan alternatif untuk model format. Misalnya, kita dapat menggunakan YY untuk menentukan tahun dua digit:

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

Hasil:

27

Faktanya, kita dapat memiliki antara satu dan empat Y karakter, tergantung pada kebutuhan kami:

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;

Hasil:

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

Sertakan Koma

Kita bisa menggunakan Y,YYY format elemen jika kita ingin memasukkan koma dalam output:

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

Hasil:

2,027

Menjabarkan Tahun Ini

Kami bahkan dapat menggunakan YEAR elemen format untuk mengembalikan tahun yang dieja:

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

Hasil:

TWENTY TWENTY-SEVEN

Tanggal SM

Kami juga dapat memenuhi tanggal BC dengan mengawali elemen format tahun kami dengan S . Dengan melakukan ini, awalan hasil dengan tanda minus, sebagaimana berlaku:

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

Hasil:

   SYYYY         SYEAR 
________ _____________ 
-0250    -TWO FIFTY   

Sebagai alternatif, kita dapat menggunakan BC atau B.C. elemen format untuk memenuhi tanggal 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;

Hasil:

      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. Menggunakan Oracle JDeveloper 12c dengan Oracle Database 12c di Oracle Cloud Platform, Bagian 1

  2. Masalah Pembuatan Kunci Asing di Oracle

  3. Apa arti tanda (+) dalam klausa Oracle SQL WHERE?

  4. Menggunakan Oracle JDeveloper 12c dengan Oracle Database 12c di Oracle Cloud Platform, Bagian 2

  5. Mengulangi baris berdasarkan nilai kolom di setiap baris