Berikut ini beberapa fungsi tanggal dan waktu pada MySQL
Fungsi CURDATE() untuk menghasilkan tanggal hari ini
[INPUT]1 2 3 4 5 6 SELECT CURDATE(); +————+ | CURDATE() | +————+ | 2017-06-29 | +————+
Fungsi CURTIME() untuk menghasilkan waktu saat ini
[INPUT]1 2 3 4 5 6 SELECT CURTIME(); +———–+ | CURTIME() | +———–+ | 16:52:39 | +———–+
Fungsi NOW() untuk menghasilkan tanggal dan jam saat ini
[INPUT]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.
[INPUT]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
[INPUT]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
[INPUT]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
[INPUT]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
[INPUT]1 2 3 4 5 6 SELECT DATEDIFF(‘2017-03-15’, ‘2017-06-29’); +————————————–+ | DATEDIFF(‘2017-03-15’, ‘2017-06-29’) | +————————————–+ | -106 | +————————————–+
[INPUT]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
[INPUT]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).
[INPUT]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
[INPUT]1 2 3 4 5 6 7 8 9 10 11 12 SELECT nama, TRUNCATE(DATEDIFF(NOW(), tanggal_lahir) / 365,) 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
[INPUT]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 ð