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