FUNGSI TANGGAL & WAKTU
Tabel
9.2 daftar fungsi tanggal dan waktu
Fungsi
|
Keterangan
|
ADDDATE(tanggal,INTEERVAL tipe_ekspr)
Catatan:
ADDDATE(tanggal, INTERVAL tipe_ekspr) identik dengan DATE_ADD()
|
Menghasilkan
tanggal yang merupakan penjumlahan antar tanggal dan nilai INTERVAL tipe_ekspr. Nilai untuk tipe_ekspr dapat dilihat pada tabel
9.3. bila kata INTERVAL tidak disebutkan, dianggap sama dengan penambahan
hari.
Contoh:
ADDDATE(‘1964/09/01’,INTERVAL
5 DAY) → menghasilkan tanggal yang merupakan 5 hari sesudah 1 september 1964
ADDDATE(‘1964/09/01’,
5) → identik dengan
ADDDATE(‘1964/09/01’,
INTERVAL 5 DAY)
|
ADDTIME(ekspr1, ekspr2)
|
Menghasilkan
waktu yang merupakan penjumlahan antara waktu ekspr1 dan ekspr2.
Contoh:
ADDTIME(‘1945/8/17
10:0:0’, ‘1 2:4:30’) →’1945-08-18 12:04:30’
|
CURDATE()
|
Menghasilkan
tanggal sekarang
|
CURRENT_DATE,
CURRENT_DATE()
|
Sinonim
dari CURDATE()
|
CURTIME()
|
Menghasilkan
jam sekarang (format:JJ:MM:DD, dengan JJ adalah jam, MM adalah menit, dan DD
adlah detik)
|
CURRENT_TIME,
CURRENT_TIME()
|
Sinonim
dari CURTIME()
|
NOW()
|
Menghasilkan
tanggal dan jam sekarang.
|
DATE(ekspr)
|
Menghasilkan
bagian tanggal dari suatu ekspresi yang mengandung tanggal dan jam.
Contoh:
DATE(‘1945/8/17
10:0:0’) → ‘1945-08-17’
|
DATEDIFF(ekspr,ekspr2)
|
Menghasilkan
selisih hari dari kedua argumennya.
Contoh:
DATEDIFF(‘1945/8/17’,’1945/8/20’)
→ -3
DATEDIFF(‘1945/8/20’,
‘1945/8/17’) → 3
|
DATE_SUB(tanggal, INTERVAL tipe_ekspr) atau SUBDATE (tanggal,
INTEREVAL tipe_ekspr)
|
Menghasilkan
tanggal yanng merupakan pengurangan antara tanggal dan nilai INTERVAL tipe_ekspr.
Nilai untuk tipe_ekspr dapat
dilihat pada tabel 9.3
|
DATE_FORMAT(tanggal, format)
|
Memformat
tanggal berdasarkan format. Berbagai format yang dapat
digunakan dapat dilihat pada tabel 9.4.
Contoh:
DATE_FORMAT(‘1945/8/17’,
‘%c’) → 8
DATE_FORMAT(‘1945/8/17’,
‘%M’) →’August’
|
DAY(tanggal) atau DAYOFMONTH(tanggal)
|
Menghasilkan
bagian tanggal (1 s/d 31) dari suatu
tanggal.
Contoh:
DAY(‘1945//8/17’)
→ 17
|
DAYNAME(tanggal)
|
Menghasilkan
nama hari.
Contoh:
DAYMANE(‘1945/8/17’)
→ ‘Friday’
|
DAYOFWEEK(tanggal)
|
Menghasilkan
kode hari (1 = Minggu, 2= senin, 3=selasa, 4= rabu, 5= kamis, 6= jumat, dan 7= sabtu).
Contoh:
DAYOFWEEK(‘1945/8/17’)
→ 6
|
DAYOFYEAR(tanggal)
|
Menghasilkan
posisi hari dalam suatu tahun.
Contoh:
DAYOFYEAR(‘1945/8/17’)
→229 (artinya 17 agustus 1945 adalah hari ke 229 pada tahun 1945)
|
HOUR(timei)
|
Menghasilkan
bagian jam dari suatu waktu.
Contoh:
HOUR(’12:30:05’)
→ 12
|
LAST_DAY(date)
|
Menghasilkan
tanggal terakhir dari bulan yang tertera pada tanggal.
Contoh:
LAST_DAY(‘1945/8/17’)
→’1945/08/31’
|
MINUTE(time)
|
Menghasilkan
bagian menit dari suatu waktu.
Contoh:
MINUTE(’12:30:05’)
→ 30
|
MONTH(date)
|
Menghasilkan
nilai bulan (1 s/d 12) dari suatu tanggal.
Contoh:
MONTH(‘194/8/17’)
→’August’
|
QUARTER(date)
|
Menghasilkan
posisi kuartal (1 s/d 4) dari suatu tanggal.
|
SECOND(time)
|
Menghasilkan
bagian detik dari suatu waktu.
Contoh:
SECOND(’12:30:05’)
→ 5
|
SUBTIME(ekspr, ekspr2)
|
Memnghasilkan
waktu yang merupakan pengurangan waktu ekspr1
denngan ekspr2.
|
SYSDATE()
|
Menghasilkan
tanggal dan jam sekarang
|
TIME(ekspr)
|
Menghasilkan
bagian jam, menit, dan detik pada ekspresi yang berisi tanggal dan jam.
|
TIMEDIFF(ekspr, ekspr2)
|
Menghaslkan
selisih waktu antara kedua argumennya.
|
TIMESTAMP(ekspr),
TIMESTAMP(ekspr, ekspr2)
|
Menghasilkan
nilai bertipe DATETIME yang didasrkan nilai argumennya. Bila ada dua argumen,
hasilnya adalah penambahan kedua argumen.
|
TIMESTAMPDIFF(intterval, datetime_ekspr1,datetime_ekspr2)
|
Menghasilkan
selisih dua buah ekspresi bertipe DATETIME dengan hasilditentukan oleh nilai interval (lihat Tabel 9.3).
Contoh:
TIMESTAMPDIFF(YEAR,’1945/8/17
10:0:0’, ‘2005/8/17 12:30:05’) →60 (jumlah tahun)
TIMESTAMPDIFF(MONTH,’1945/8/17
10:0:0’, ‘2005/8/17 12:30:05’) →720 (jumlah bulan)
TIMESTAMPDIFF(DAY,’1945/8/17
10:0:0’, ‘2005/8/17 12:30:05’) →21915 (jumlah hari)
|
WEEKDAY(date)
|
Menghasilkan
kode hari (0=senin, 1=selasa, 2 rabu, dst)
|
YEAR(tanggal)
|
Menghasilkan
tahun dari suatu tanggal.
Contoh:
YEAR(‘1945/8/17
10:0:0’) → 1945
|
Tabel
9.3 daftar interval waktu untuk fungsi
seperti ADDDATE()
Nama
interval
|
Keterangan
|
MICROSECOND
|
Mikrodetik
|
SECOND
|
Detik
|
MINUTE
|
Menit
|
HOUR
|
Jam
|
DAY
|
Hari
|
WEEK
|
Minggu
|
MONTH
|
Bulan
|
QUARTER
|
Perempattahun
|
YEAR
|
Tahun
|
SECOND_MICROSECOND
|
Detik
dan mikrodetik, dengan format ‘detik.mikrodetik’
|
MINUTE_MICROSECOND
|
Menit dan mikrodetik, dengan format
‘menit.mikrodetik’
|
MINUTE_SECOND
|
Menit
dan detik, dengan format ‘menit:detik’
|
HOUR_MICROSECOND
|
Jam dan mikrodetik, dengan format
‘jam.mikrodetik’
|
HOUR_SECOND
|
Jam,
menit dan detik dengan format’jam:menit:detik’
|
HOUR_MINUTE
|
Jam
dan menit,dengan format ‘jam:menit’
|
DAY_MICROSECOND
|
Jam
dan mikrodetik, dengan format ‘jam .microdetik’
|
DAY_SECOND
|
Hari,jam,menit
dan detik , dengan format ‘hari:jam:menit:detik’
|
DAY_MINUTE
|
Hari,jam
dan menit dengan format’ hari:jam:menit ‘
|
DAY_HOUR
|
Hari
dan jam dengan format’hari:jam’
|
YEAR_MONTH
|
Tahun
dan bulan, dengan format ‘ tahun-bulan’
|
Tabel
9.4 Penentu Format Tanggal dan Waktu
Penentu
Format
|
Keterangan
|
%a
|
Nama
hari singkat dalam bahasa inggris ( seperti mont dan sat)
|
%b
|
Nama
bulan singkat dalam bahasa inggris (seperti Jan dan Feb)
|
%c
|
Kode
bulan dalam bentuk numeris (1s/d 12)
|
%D
|
Angka
tanggal diikuti dengan akhiran sepeerti 1st,2nd,dsb.
|
%d
|
Tanggal
dalam bentuk numeris (01 s/d 31)
|
%e
|
Tanggal
dalam bentuk numeris (1 s/d 31)
|
%f
|
Mikrodetik
|
%H
|
Jam
(00 s/d 23)
|
%h
|
Jam
(01 s/d 12)
|
%I
|
Jam
(01 s/d 12)
|
,February%i
|
Menit
(00 s/d 59)
|
%j
|
Hari
dalam satu tahun (001 s/d 366)
|
%k
|
Jam
(0 s/d 23)
|
%l
|
Jam
(1 s/d 12)
|
%M
|
Nama
bulan (January, February dsb)
|
%m
|
Bulan
(01 s/d12)
|
%p
|
AM
atau PM
|
%r
|
Waktu,24
jam (jj:mm:dd diikuti AM atau PM)
|
%S
|
Detik
(00 s/d 59)
|
%s
|
Detik(00
s/d 59)
|
%T
|
Waktu,
24 jam (jj:mm:dd)
|
%U
|
Minggu
(00 s/d53 ),dengan minggu sebagai hari pertama dalam satu minggu
|
%u
|
Minggu
(00s/d53),dengan senin sebagai hari pertama dalam satu minggu
|
%V
|
Minggu(01
s/d 53),dengan Minggu sebagai hari pertama dalam satu minggu ; digunakan
bersama %X
|
%v
|
Minggu(00
s/d 53), dengan senin sebagai hari pertama dalam satu minggu; digunakan
bersama %x
|
%W
|
Nama
hari (Sunday, Monday, dsb)
|
%w
|
Kode
hari (0=Minggu, 1=Senin, dst)
|
%X
|
Tahun
dari minggu (4 digit); digunakan bersama-sama V
|
%x
|
Tahun
dari minggu (4 digit); digunakan bersama-sama v
|
%Y
|
Tahun
(4 digit)
|
%y
|
Tahun
(2 digit)
|
%%
|
Menyatakan
literal %
|
Contoh 1:
SELECT CURDATE();
Contoh 2:
SELECT nama,
tgl_lahir FROM infoprib
WHERE DAYOFWEEK
(tgl_lahir) =4;
Contoh 3:
SELECT nama,
tgl_lahir FROM infoprib
WHERE YEAR(tgl_lahir)
>=1982;
Contoh 4:
SELECT nama,
CASE DAYOFWEEK
(tgl_lahir)
WHEN 1 THEN
‘Minggu’
WHEN 2 THEN
‘Senin’
WHEN 3 THEN
‘Selasa’
WHEN 4 THEN ‘Rabu’
WHEN 5 THEN
‘Kamis’
WHEN 6 THEN
‘Jumat’
WHEN 7 THEN
‘Sabtu’
END AS ‘hari
lahir’
NB:
Harap materi di atas di CATAT didalam buku catatan. Suatu saat WAJIB dikumpulkan sebagai nilai extra. THX
NB:
Harap materi di atas di CATAT didalam buku catatan. Suatu saat WAJIB dikumpulkan sebagai nilai extra. THX
Comments
Post a Comment