Mengenal Fungsi-fungsi Waktu dalam MySQL

Fungsi waktu, mau tidak mau memang harus ada dalam proses database, karena dalam proses pengolahan data akan sangat berpotensi bersinggungan dengan waktu. Berikut beberapa point penting dalam proses sql yang berhubungan dengan waktu

1. Type data.

Tipe data adalah format data yang akan dikenakan untuk rekord data yang berupa waktu tersebut.
a. Tipe data Time berformat : jam:menit:detik, contoh 12:00:01
b. Tipe data Date berformat : tahun-bulan-tanggal, contoh 2011-10-10
c. Tipe data datetime : tahun-bulan-tanggal jam:menit:detik, contoh 2011-10-10 12:00:01
d. Tipe data Timestamp : berformat datetime, namun terisi secara otomatis berupa tanggal dan waktu sekarang, jika tidak terisi

2. Beberapa Sintaksis
NOW() adalah Fungsi untuk menampilkan tanggal dan jam saat ini. Bentuknya adalah tipe data DateTime
CURDATE() adalah Fungsi untuk menampilkan tanggal saat ini. Bentuknya adalah tipe data Date
CURTIME() adalah Fungsi untuk menampilkan waktu saat ini. Bentuknya adalah tipe data Time
MONTH() adalah Fungsi untuk menampilkan bulan dalam waktu yang dimaksud.. Contoh SELECT MONTH(NOW()); Bentuknya adalah angka bulan ke
MONTHNAME() adalah Fungsi untuk menampilkan bulan dalam waktu yang dimaksud dengan bentuk nama..

Contoh :

SELECT MONTHNAME(NOW()); 

Bentuknya adalah nama bulan

YEAR() Fungsi untuk menampilkan tahun dalam waktu yang dimaksud.

Contoh:

SELECT YEAR(CURDATE());

Berisi tahun yang dimaksud

DAY() Fungsi untuk menampilkan hari kesekian dalam satu bulan pada waktu yang dimaksud. Contoh:

SELECT DAY(NOW()); 

Berisi nomer hari ke “” dalam satu bulan

DAYNAME() Fungsi untuk menampilkan hari pada waktu yang dimaksud dalam bentuk Nama Hari. Contoh:

SELECT DAY(NOW()); 

Berisi nama hari

weekday() Fungsi untuk menampilkan hari berskala mingguan pada waktu yang dimaksud.

Contoh:

SELECT WEEKDAY(NOW());

Hasilnya adalah hari dalam satu minggu

DATE_ADD, INTERVAL Berfungsi untuk menampilkan berapa hari ke depan, ke belakang, tahun ke ke depan dan belakang. Contoh, jika saya ingin menampilkan tanggal dua minggu ke sebelumnya adalah

SELECT DATE_ADD(NOW(), INTERVAL -2 WEEK)

atau

SELECT DATE_ADD(CURDATE(), INTERVAL -14 DAY)

Bentuknya sangat tergantung pada yang dikenai interval, apakah NOW(), CURDATE(), tanggal tertentu dll

DATE() berfungsi untuk menampilkan ‘tanggal’ pada waktu yang dimaksudkan di dalam kurung. Berwujud angka
hour() berfungsi untuk menampilkan ‘jam’ pada waktu yang dimaksudkan di dalam kurung. Berwujud angka
minute() berfungsi untuk menampilkan ‘menit’ pada waktu yang dimaksudkan di dalam kurung. Berwujud angka
second() berfungsi untuk menampilkan ‘detik’ pada waktu yang dimaksudkan di dalam kurung. Berwujud angka

Salah satu contoh jika diinginkan suatu data yang diinputkan dua minggu silam, kira-kira kode akan menjadi seperti ini:

SELECT 
`name` AS nama, 
`last_post` AS kapan, 
`income` AS jumlahsetor 
FROM 
`tb_income` 
WHERE 
`input_date` IN (SELECT DATE_ADD(NOW(), INTERVAL -14 DAY));

Sekian dulu, semoga berguna…

bimosaurus

eof