Teradata - Fungsi Tanggal / Waktu
Bab ini membahas fungsi tanggal / waktu yang tersedia di Teradata.
Tanggal Penyimpanan
Tanggal disimpan sebagai bilangan bulat secara internal menggunakan rumus berikut.
((YEAR - 1900) * 10000) + (MONTH * 100) + DAY
Anda dapat menggunakan kueri berikut ini untuk memeriksa bagaimana tanggal disimpan.
SELECT CAST(CURRENT_DATE AS INTEGER);
Karena tanggal disimpan sebagai bilangan bulat, Anda dapat melakukan beberapa operasi aritmatika padanya. Teradata menyediakan fungsi untuk melakukan operasi ini.
EKSTRAK
Fungsi EXTRACT mengekstrak bagian hari, bulan dan tahun dari nilai DATE. Fungsi ini juga digunakan untuk mengekstrak jam, menit dan detik dari nilai TIME / TIMESTAMP.
Contoh
Contoh berikut memperlihatkan cara mengekstrak nilai Tahun, Bulan, Tanggal, Jam, Menit, dan detik dari nilai Tanggal dan Stempel Waktu.
SELECT EXTRACT(YEAR FROM CURRENT_DATE);
EXTRACT(YEAR FROM Date)
-----------------------
2016
SELECT EXTRACT(MONTH FROM CURRENT_DATE);
EXTRACT(MONTH FROM Date)
------------------------
1
SELECT EXTRACT(DAY FROM CURRENT_DATE);
EXTRACT(DAY FROM Date)
------------------------
1
SELECT EXTRACT(HOUR FROM CURRENT_TIMESTAMP);
EXTRACT(HOUR FROM Current TimeStamp(6))
---------------------------------------
4
SELECT EXTRACT(MINUTE FROM CURRENT_TIMESTAMP);
EXTRACT(MINUTE FROM Current TimeStamp(6))
-----------------------------------------
54
SELECT EXTRACT(SECOND FROM CURRENT_TIMESTAMP);
EXTRACT(SECOND FROM Current TimeStamp(6))
-----------------------------------------
27.140000
SELANG
Teradata menyediakan fungsi INTERVAL untuk melakukan operasi aritmatika pada nilai DATE dan TIME. Ada dua jenis fungsi INTERVAL.
Interval Tahun-Bulan
- YEAR
- TAHUN KE BULAN
- MONTH
Interval Siang Hari
- DAY
- HARI KE JAM
- HARI KE MENIT
- HARI KE KEDUA
- HOUR
- JAM KE MENIT
- JAM SAMPAI KEDUA
- MINUTE
- MENIT KE KEDUA
- SECOND
Contoh
Contoh berikut menambahkan 3 tahun ke tanggal sekarang.
SELECT CURRENT_DATE, CURRENT_DATE + INTERVAL '03' YEAR;
Date (Date+ 3)
-------- ---------
16/01/01 19/01/01
Contoh berikut menambahkan 3 tahun dan 01 bulan ke tanggal sekarang.
SELECT CURRENT_DATE, CURRENT_DATE + INTERVAL '03-01' YEAR TO MONTH;
Date (Date+ 3-01)
-------- ------------
16/01/01 19/02/01
Contoh berikut menambahkan 01 hari, 05 jam dan 10 menit ke stempel waktu saat ini.
SELECT CURRENT_TIMESTAMP,CURRENT_TIMESTAMP + INTERVAL '01 05:10' DAY TO MINUTE;
Current TimeStamp(6) (Current TimeStamp(6)+ 1 05:10)
-------------------------------- --------------------------------
2016-01-01 04:57:26.360000+00:00 2016-01-02 10:07:26.360000+00:00