[MySQL] Fungsi Tanggal dan Waktu

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 🙂

Leave a Reply

Your email address will not be published.