[MySQL] Fungsi Tanggal dan Waktu
Berikut ini beberapa fungsi tanggal dan waktu pada MySQL
Fungsi CURDATE() untuk menghasilkan tanggal hari ini
1 2 3 4 5 6 | SELECT CURDATE(); +------------+ | CURDATE() | +------------+ | 2017-06-29 | +------------+ |
Fungsi CURTIME() untuk menghasilkan waktu saat ini
1 2 3 4 5 6 | SELECT CURTIME(); +-----------+ | CURTIME() | +-----------+ | 16:52:39 | +-----------+ |
Fungsi NOW() untuk menghasilkan tanggal dan jam saat ini
1 2 3 4 5 6 | SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2017-06-29 16:53:25 | +---------------------+ |
Fungsi DATE() untuk menghasilkan hanya bagian tanggal dari tanggal dan jam.
1 2 3 4 5 6 | SELECT DATE('2017-06-29 16:53:25'); +-----------------------------+ | DATE('2017-06-29 16:53:25') | +-----------------------------+ | 2017-06-29 | +-----------------------------+ |
Fungsi YEAR() untuk menghasilkan tahun dari suatu tanggal
1 2 3 4 5 6 | SELECT YEAR('2017-06-29 16:53:25'); +-----------------------------+ | YEAR('2017-06-29 16:53:25') | +-----------------------------+ | 2017 | +-----------------------------+ |
Fungsi ADDDATE() untuk menghasilkan tanggal beberapa HARI atau BULAN kemudian.
8 HARI setelah tanggal 2017-06-29
1 2 3 4 5 6 | SELECT ADDDATE('2017-06-29', INTERVAL 8 DAY); +---------------------------------------+ | ADDDATE('2017-06-29', INTERVAL 8 DAY) | +---------------------------------------+ | 2017-07-07 | +---------------------------------------+ |
8 BULAN setelah tanggal 2017-06-29
1 2 3 4 5 6 | SELECT ADDDATE('2017-06-29', INTERVAL 8 DAY); +---------------------------------------+ | ADDDATE('2017-06-29', INTERVAL 8 DAY) | +---------------------------------------+ | 2017-07-07 | +---------------------------------------+ |
Fungsi DATEDIFF() menghasilkan selisih tanggal
1 2 3 4 5 6 | SELECT DATEDIFF('2017-03-15', '2017-06-29'); +--------------------------------------+ | DATEDIFF('2017-03-15', '2017-06-29') | +--------------------------------------+ | -106 | +--------------------------------------+ |
1 2 3 4 5 6 | SELECT DATEDIFF('2017-06-29', '2017-03-15'); +--------------------------------------+ | DATEDIFF('2017-06-29', '2017-03-15') | +--------------------------------------+ | 106 | +--------------------------------------+ |
Menampilkan daftar pegawai yang lahir di atas tahun 1993
1 2 3 4 5 6 7 8 | SELECT nama, tanggal_lahir FROM pegawai WHERE YEAR(tanggal_lahir) > 1993; +-----------------+---------------+ | nama | tanggal_lahir | +-----------------+---------------+ | Budi Setiawan | 1996-11-09 | | Irma Astuti | 1997-02-10 | | Anggraini Wulan | 1995-03-11 | +-----------------+---------------+ |
Memperoleh umur pegawai dengan membandingkan tanggal lahir dan tanggal sekarang kemudian dibagi dengan 365 (1 tahun = 365 hari).
1 2 3 4 5 6 7 8 9 10 11 12 | SELECT nama, DATEDIFF(NOW(), tanggal_lahir) / 365 AS umur FROM pegawai; +-----------------+---------+ | nama | umur | +-----------------+---------+ | Agus Salim | 37.4658 | | Budi Setiawan | 20.6493 | | Hendra Hidayat | 27.1425 | | Wahyuni Yulia | 25.0767 | | Irma Astuti | 20.3945 | | Made Rizky | 23.6795 | | Anggraini Wulan | 22.3178 | +-----------------+---------+ |
Menambahkan fungsi TRUNCATE() untuk menghilangkan pecahan pada umur
1 2 3 4 5 6 7 8 9 10 11 12 | SELECT nama, TRUNCATE(DATEDIFF(NOW(), tanggal_lahir) / 365,0) AS umur FROM pegawai; +-----------------+------+ | nama | umur | +-----------------+------+ | Agus Salim | 37 | | Budi Setiawan | 20 | | Hendra Hidayat | 27 | | Wahyuni Yulia | 25 | | Irma Astuti | 20 | | Made Rizky | 23 | | Anggraini Wulan | 22 | +-----------------+------+ |
Menampilkan tanggal dengan format tanggal dan nama bulan
1 2 3 4 5 6 7 8 9 10 11 12 | SELECT nama, DATE_FORMAT(tanggal_lahir, '%d %M %Y') FROM pegawai; +-----------------+----------------------------------------+ | nama | DATE_FORMAT(tanggal_lahir, '%d %M %Y') | +-----------------+----------------------------------------+ | Agus Salim | 20 January 1980 | | Budi Setiawan | 09 November 1996 | | Hendra Hidayat | 15 May 1990 | | Wahyuni Yulia | 07 June 1992 | | Irma Astuti | 10 February 1997 | | Made Rizky | 30 October 1993 | | Anggraini Wulan | 11 March 1995 | +-----------------+----------------------------------------+ |
selamat mencoba 🙂