Operator dan Fungsi Tanggal (Date).
Untuk melihat tanggal dan waktu sistem gunakan fungsi berikut:
CURRENT_DATE: mengembalikan tanggal saat ini di zona waktu sesi, dalam nilai dalam kalender jenis data dari Gregorian tipe data tanggal(Date).
SYSDATE: Mengembalikan tanggal dan waktu sekarang.
SYSTIMESTAMP: Fungsi SYSTIMESTAMP mengembalikan tanggal sistem, termasuk fraksional detik dan zona waktu dari database Tipe kembaliannya adalah TIMESTAMP WITH TIME ZONE.
Contoh SYSDATE
Untuk melihat tanggal dan waktu sistem saat ini, gunakan query seperti berikut ini :
select sysdate from dual;
SYSDATE
-------
8-AUG-03
Format tanggal tanggal ditampilkan bergantung pada parameter NLS_DATE_FORMAT.
Misalnya atur NLS_DATE_FORMAT ke format berikut
alter session set NLS_DATE_FORMAT=’DD-MON-YYYY HH:MIpm’;
Kemudian berikan pernyataan berikut
select sysdate from dual;
SYSDATE
------------------
8-AUG-2003 03:05pm
Pengaturan standar NLS_DATE_FORMAT adalah DD-MON-YY
Contoh CURRENT_DATE
Untuk melihat tanggal dan waktu sistem saat ini dengan zona waktu gunakan fungsi CURRENT_DATE
ALTER SESSION SET TIME_ZONE = '-4:0';
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
--------------- --------------------
-04:00 22-APR-2003 14:15:03
ALTER SESSION SET TIME_ZONE = '-7:0';
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
--------------- --------------------
-07:00 22-APR-2003 09:15:33
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
--------------- --------------------
-04:00 22-APR-2003 14:15:03
ALTER SESSION SET TIME_ZONE = '-7:0';
SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;
SESSIONTIMEZONE CURRENT_DATE
--------------- --------------------
-07:00 22-APR-2003 09:15:33
Contoh SYSTIMESTAMP
Untuk melihat tanggal dan waktu sistem saat ini dengan pecahan detik dengan zona waktu gunakan query berikut :
select systimestamp from dual;
SYSTIMESTAMP
-------------------------------
22-APR-03 08.38.55.538741 AM -07:00
SYSTIMESTAMP
-------------------------------
22-APR-03 08.38.55.538741 AM -07:00
MODEL FORMAT DATE
Untuk menerjemahkan tanggal ke format yang berbeda, anda dapat menggunakan fungsi TO_CHAR dengan format tanggal. Misalnya untuk melihat hari ini anda bisa memberikan query berikut ini :
Select to_char(sysdate,’DAY’)”Today” FROM DUAL;
TODAY
-------
THURSDAY
Untuk menerjemahkan nilai karakter, yang dalam format selain format tanggal default, ke nilai tanggal, Anda dapat menggunakan fungsi TO_DATE dengan format tanggal sampai saat ini.
Seperti model format "DAY" ini, ada banyak model format tanggal lainnya yang tersedia di Oracle. Berikut daftar-daftar model format tanggal (date).
FORMAT
|
Definisi
|
D | Hari di minggu ini |
DD | Hari dalam sebulan |
DDD | Hari dalam setahun |
DAY | Hari penuh untuk 'Senin Selasa Rabu' |
DY | Hari dalam tiga huruf contoh 'MON', 'TUE', 'FRI' |
W | Minggu dalam sebulan |
WW | Minggu dalam setahun |
MM | Bulan dalam dua digit (1-Jan, 2-Feb,…12-Dec) |
MON | Bulan dalam tiga karakter seperti “Jan”, ”Feb”, ”Apr” |
MONTH | Bulan Penuh seperti “January”, ”February”, ”April” |
RM | Bulan dalam Karakter Romawi (I-XII, I-Jan, II-Feb,…XII-Dec) |
Q | Kuartal Bulan Ini |
YY | Dua digit terakhir tahun ini. |
YYYY | Setahun penuh |
YEAR | Tahun dalam kata-kata seperti “Nineteen Ninety Nine” |
HH | Jam dalam format 12 jam |
HH12 | Jam dalam format 12 jam |
HH24 | Jam dalam format 24 jam |
MI | Menit |
SS | Detik |
FF | Pecahan Detik |
SSSSS | Milidetik |
J | Hari Julian Hari ini sejak 1 Januari sampai 4712BC sampai sekarang |
RR | Jika tahun ini kurang dari 50 Asumsikan tahun itu sebagai 21st Century. Jika tahun lebih besar dari 50 maka diasumsikan tahun di abad 20. |
suffixes
TH | Mengembalikan th, st, rd atau nd sesuai nomor terdepan seperti 1st, 2nd 3rd 4th |
SP | Kata nomor terkemuka |
AM or PM | Mengembalikan AM atau PM sesuai dengan waktu |
SPTH | Mengembalikan Angka Orisinal yang Lisan. Untuk. Contoh Pertama, Keempat |
Misalnya untuk melihat tanggal hari ini dalam format berikut :
Friday, 7th March, 2014
Berikan pernyataan sebagai berikut :
select to_char(sysdate,’Day, ddth Month, yyyy’)”Today” from dual;
TODAY
------------------------
Friday, 7th March, 2014
------------------------
Friday, 7th March, 2014
Misalnya Anda ingin melihat tanggal peminjaman semua karyawan dalam format berikut :
Friday, 8th August, 2003
Kemudian berikan query sebagai berikut :
select to_char(hire_date,’Day, ddth Month, yyyy’) from employee;
Contoh TO_DATE
Fungsi to_Date digunakan untuk mengubah string menjadi nilai tanggal. Misalnya Anda ingin melihat apa yang terjadi pada 15-aug-1947. Penggunaan fungsi to_date untuk pertama kali mengubah string menjadi nilai tanggal dan kemudian meneruskan nilai ini ke fungsi to_char untuk mengekstrak hari, seperti contoh dibawah ini :
select to_char(to_date(’15-aug-1947’,’dd-mon-yyyy’),’Day’)
from dual;
TO_CHAR(
--------
Friday
Untuk melihat berapa hari telah berlalu sejak 15-aug-1947 maka berikan Query berikut :
select sysdate-to_date(’15-aug-1947’,’dd-mon-yyyy’) from dual;
Sekarang kita ingin melihat tanggal mana yang akan terjadi setelah 45 hari dari sekarang
select sysdate+45 from dual;
SYSDATE
-------
06-JUN-2003
ADD_MONTHS
Untuk melihat tanggal mana yang akan terjadi setelah 6 bulan dari sekarang, kita bisa menggunakan fungsi ADD_MONTHS, seperti contoh dibawah ini :Select ADD_MONTHS(SYSDATE,6) from dual;
ADD_MONTHS
----------
22-OCT-2003
MONTHS_BETWEEN
Untuk melihat berapa bulan telah berlalu sejak tanggal tertentu, gunakan fungsi MONTHS_BETWEEN.Sebagai contoh, untuk melihat berapa bulan telah berlalu sejak 15-aug-1947, berikan query sebagai berikut :
select months_between(sysdate,to_date(’15-aug-1947’))
from dual;
Months
------
616.553
Untuk menghilangkan nilai desimal gunakan fungsi truncate, seperti dibawah ini :
select trunc(months_between(sysdate,to_date(’15-aug-1947’)))
from dual;
Months
------
616
LAST_DAY
Untuk melihat tanggal terakhir bulan dari tanggal tertentu, Gunakan fungsi LAST_DAY, seperti contoh dibawah ini :select LAST_DAY(sysdate) from dual;
LAST_DAY
--------
31-AUG-2003
NEXT_DAY
Untuk melihat kapan hari tertentu akan datang berikutnya, gunakan fungsi NEXT_DAY.Sebagai contoh untuk melihat kapan hari Sabtu depan akan tiba, berikan query sebagai berikut :
select next_day(sysdate) from dual;
NEXT_DAY
-----------
09-AUG-2003
EXTRACT
Fungsi datetime EXTRACT mengekstrak dan mengembalikan nilai bidang datetime tertentu dari ekspresi nilai datetime atau interval. Saat Anda mengekstrak TIMEZONE_REGION atau TIMEZONE_ABBR (singkatan), nilai yang dikembalikan adalah string yang berisi nama zona waktu atau singkatan yang sesuai.Query fungsi EKSTRAK adalah sebagai berikut :
EXTRACT ( YEAR / MONTH / WEEK / DAY / HOUR / MINUTE / TIMEZONE FROM DATE)
Contoh Berikut ini menunjukkan penggunaan fungsi EKSTRAK untuk mengambil tahun dari tanggal sekarang. seperti query dibawah ini :
select extract(year from sysdate) from dual;
EXTRACT
-------
2003
Sumber : Disini
Semoga bermanfaat.
Best Regards
0 komentar:
Posting Komentar