Penggunaan Fungsi Tanggal & Waktu Di MySQL Bagian 1

0
Pada Panduan Tutorial MySQL kali ini, kita akan belajar lebih detail tentang macam-macam fungsi tanggal & waktu dan penggunaanya. Fungsi tanggal dan waktu digunakan untuk menampilkan operasi-operasi yang berhubungan dengan tanggal dan waktu, seperti menampilkan tanggal hari ini, menampilkan selisih dari kedua tanggal, menampilkan bulan hari ini, dan lain sebagainya.

Di bawah ini adalah tabel macam-macam fungsi tanggal dan waktu di MySQL:

Nama Fungsi Deskripsi
ADDDATE() Menambahkan tanggal dengan interval tertentu
ADDTIME() Menambahkan waktu
CURDATE() atau CURRENT_DATE atau CURRENT_DATE() Menampilkan tanggal hari ini
CURTIME() atau CURRENT_TIME atau CURRENT_TIME() Menampilkan waktu hari ini
DATE_ADD() Menambahkan tanggal dengan interval tertentu seperti detik, menit, jam, hari, dan seterusnya
DATE_FORMAT() Menampilkan tanggal dalam format yang diinginkan
DATE_SUB() Mengurangi tanggal dan waktu dengan interval tertentu

ADDDATE()


Fungsi ADDDATE() digunakan untuk menambahkan tanggal dengan interval tertentu, misalkan menambahkan 30 hari dari tanggal '2018-02-20'.

Di bawah ini adalah contoh penggunaan fungsi ADDDATE() di MySQL:

mysql> SELECT ADDDATE('2016-02-20', INTERVAL 31 DAY);
+----------------------------------------+
| ADDDATE('2016-02-20', INTERVAL 31 DAY) |
+----------------------------------------+
| 2016-03-22                             |
+----------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT ADDDATE('2016-02-20', 31);
+---------------------------+
| ADDDATE('2016-02-20', 31) |
+---------------------------+
| 2016-03-22                |
+---------------------------+
1 row in set (0.00 sec)

ADDTIME()


Fungsi ADDTIME() digunakan untuk menambahkan waktu. Di bawah ini adalah contoh penggunaan fungsi ADDTIME() di MySQL:

mysql> SELECT ADDTIME('2016-02-20 23:59:59.9999', '2 10:10:59.9999');
+--------------------------------------------------------+
| ADDTIME('2016-02-20 23:59:59.9999', '2 10:10:59.9999') |
+--------------------------------------------------------+
| 2016-02-23 10:10:59.999800                             |
+--------------------------------------------------------+
1 row in set (0.05 sec)

mysql> SELECT ADDTIME('2016-02-20 23:59:59.9999', '10:10:59.9999');
+------------------------------------------------------+
| ADDTIME('2016-02-20 23:59:59.9999', '10:10:59.9999') |
+------------------------------------------------------+
| 2016-02-21 10:10:59.999800                           |
+------------------------------------------------------+
1 row in set (0.00 sec)

CURDATE() / CURRENT_DATE / CURRENT_DATE()


Fungsi CURDATE() atau CURRENT_DATE atau CURRENT_DATE() digunakan untuk menampilkan tanggal hari ini dalam format YYYY-MM-DD. Di bawah ini adalah contoh penggunaan fungsi CURDATE() atau CURRENT_DATE atau CURRENT_DATE() di MySQL:

mysql> SELECT CURDATE();
+------------+
| CURDATE()  |
+------------+
| 2016-09-11 |
+------------+
1 row in set (0.02 sec)

mysql> SELECT CURRENT_DATE;
+--------------+
| CURRENT_DATE |
+--------------+
| 2016-09-11   |
+--------------+
1 row in set (0.00 sec)

mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2016-09-11     |
+----------------+
1 row in set (0.00 sec)

CURTIME()


Fungsi CURTIME() digunakan untuk menampilkan waktu hari ini dalam format HH:MM:SS. Di bawah ini adalah contoh penggunaan fungsi CURTIME() di MySQL:

mysql> SELECT CURTIME();
+-----------+
| CURTIME() |
+-----------+
| 14:21:12  |
+-----------+
1 row in set (0.04 sec)

mysql> SELECT CURRENT_TIME;
+--------------+
| CURRENT_TIME |
+--------------+
| 14:47:08     |
+--------------+
1 row in set (0.00 sec)

mysql> SELECT CURRENT_TIME();
+----------------+
| CURRENT_TIME() |
+----------------+
| 14:47:11       |
+----------------+
1 row in set (0.00 sec)

DATE_ADD()


Fungsi DATE_ADD() digunakan untuk menambahkan tanggal dengan interval tertentu seperti detik, menit, jam, hari, minggu, bulan, tahun, dan seterusnya. Untuk lebih jelasnya, perhatikan contoh berikut ini:

mysql> SELECT DATE_ADD('2016-10-20',INTERVAL 15 DAY);
+----------------------------------------+
| DATE_ADD('2016-10-20',INTERVAL 15 DAY) |
+----------------------------------------+
| 2016-11-04                             |
+----------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_ADD('2016-10-20 10:10:10',INTERVAL 15 HOUR);
+--------------------------------------------------+
| DATE_ADD('2016-10-20 10:10:10',INTERVAL 15 HOUR) |
+--------------------------------------------------+
| 2016-10-21 01:10:10                              |
+--------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_ADD('2016-10-20 10:10:10',INTERVAL 50 MINUTE);
+----------------------------------------------------+
| DATE_ADD('2016-10-20 10:10:10',INTERVAL 50 MINUTE) |
+----------------------------------------------------+
| 2016-10-20 11:00:10                                |
+----------------------------------------------------+
1 row in set (0.00 sec)

DATE_FORMAT()


Fungsi DATE_FORMAT() digunakan untuk menampilkan tanggal sesuai dengan format yang diinginkan. Di bawah ini adalah tabel macam-macam format tanggal yang terdapat di MySQL:

Format Deskripsi
%a Singkatan nama hari dalam bahasa Inggris (Sun..Sat)
%b Singkatan nama bulan dalam bahasa inggris (Jan..Dec)
%c Bulan, dalam bentuk angka (0..12)
%D Hari di bulan ini diakhiri suffix Bahasa Inggris (0th, 1st, 2nd, 3rd, dst)
%d Hari di bulan ini, angka (00-31)
%e Hari di bulan ini, angka (0-31)
%f Microsecond (000000..999999)
%H Jam (00-23)
%h Jam (01-12)
%I Jam (01-12)
%i Menit, angka (00-59)
%j Hari dalam setahun (001-366)
%k Jam (0-23)
%l Jam (1-12)
%M Nama Bulan (January..December)
%m Bulan, angka (00-12)
%p AM atau PM
%r Waktu, 12-jam (hh:mm:ss AM or PM)
%S Detik (00-59)
%s Detik (00-59)
%T Waktu, 24-jam (hh:mm:ss)
%U Pekan (00-53) dengan Minggu sebagai awal pekan, WEEK() mode 0
%u Pekan (00-53) dengan Senin sebagai awal pekan, WEEK() mode 1
%V Pekan (01-53) dengan Minggu sebagai awal pekan, digunakan dengan %X
%v Week (01-53) dengan Senin sebagai awal pekan, digunakan dengan %x
%W Nama Hari, Bahasa Inggris
%w Hari dalam seminggu (0=Minggu, 6=Sabtu)
%X Tahun dalam pekan dengan Minggu sebagai awal pekan, empat angka, digunakan dengan %V
%x Tahun dalam pekan dengan Senin sebagai awal pekan, empat angka, digunakan dengan %v
%Y Tahun, empat angka (2016)
%y Tahun, dua angka (16)

Untuk lebih jelasnya, perhatikan contoh berikut ini:

mysql> SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');
+----------------------------------------+
| DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p') |
+----------------------------------------+
| Sep 20 2016 09:24 PM                   |
+----------------------------------------+
1 row in set (0.06 sec)

mysql> SELECT DATE_FORMAT(NOW(),'%m-%d-%Y');
+-------------------------------+
| DATE_FORMAT(NOW(),'%m-%d-%Y') |
+-------------------------------+
| 09-20-2016                    |
+-------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT(NOW(),'%d %b %y');
+-------------------------------+
| DATE_FORMAT(NOW(),'%d %b %y') |
+-------------------------------+
| 20 Sep 16                     |
+-------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT(NOW(),'%d %b %Y %T:%f');
+-------------------------------------+
| DATE_FORMAT(NOW(),'%d %b %Y %T:%f') |
+-------------------------------------+
| 20 Sep 2016 21:25:30:000000         |
+-------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('2016-10-20 22:23:00', '%W %M %Y');
+------------------------------------------------+
| DATE_FORMAT('2016-10-20 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Thursday October 2016                          |
+------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('2016-10-20 22:23:00', '%H %k %I %r %T %S %w');
+------------------------------------------------------------+
| DATE_FORMAT('2016-10-20 22:23:00', '%H %k %I %r %T %S %w') |
+------------------------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 4                         |
+------------------------------------------------------------+
1 row in set (0.00 sec)

Fungsi NOW() digunakan untuk menampilkan tanggal dan waktu hari ini.

DATE_SUB()


Fungsi DATE_SUB() digunakan untuk mengurangkan tanggal dan waktu dengan interval tertentu seperti detik, menit, jam, hari, pekan, bulan, tahun, dan sebagainya.

Untuk lebih jelasnya, perhatikan contoh berikut ini:

mysql> SELECT DATE_SUB('2016-10-20 21:31:15', INTERVAL 1 HOUR);
+--------------------------------------------------+
| DATE_SUB('2016-10-20 21:31:15', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2016-10-20 20:31:15                              |
+--------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_SUB('2016-10-20 21:31:15', INTERVAL 1 DAY);
+-------------------------------------------------+
| DATE_SUB('2016-10-20 21:31:15', INTERVAL 1 DAY) |
+-------------------------------------------------+
| 2016-10-19 21:31:15                             |
+-------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_SUB('2016-10-20 21:31:15', INTERVAL 1 MONTH);
+---------------------------------------------------+
| DATE_SUB('2016-10-20 21:31:15', INTERVAL 1 MONTH) |
+---------------------------------------------------+
| 2016-09-20 21:31:15                               |
+---------------------------------------------------+
1 row in set (0.00 sec)

Lanjut Ke Bagian Kedua...

0 Comments