Menghitung Interval Antar Tanggal - MySQL Dasar #24

menghitung antar tanggal mysql

Lihat [ Daftar Isi : Tanggal dan Waktu]

Untuk dapat menghitung interval antara dua buah tanggal yang berbeda, maka Anda perlu terlebih dahulu mengkonversi nilai tanggal yang akan dihitung intervalnya menjadi nilai/bilangan dalam hari menggunakan fungsi TO_DAYS().

Misalnya disini saya akan menghitung interval antara tabel tanggal dengan tanggal sekarang. Sehingga nanti akan diperlihatkan berapa selisih atau interval antar tanggal yang dibandingkan

MariaDB [root93]> SELECT d AS tanggal, (TO_DAYS(d) - TO_DAYS(CURDATE())) AS 'interval' FROM tanggal;
+------------+----------+
| tanggal    | interval |
+------------+----------+
| 1980-02-03 |   -15433 |
| 1990-10-12 |   -11529 |
| 2000-12-21 |    -7806 |
| 2012-12-12 |    -3432 |
| 2022-04-24 |      -12 |
| 2022-04-23 |      -13 |
| 2022-04-25 |      -11 |
+------------+----------+
7 rows in set (0.00 sec)

Selanjutnya jika ingin menghitung intervalnya dalam minggu, maka Anda cukup membaginya dengan nilai 7 seperti berikut ini

MariaDB [root93]> SELECT d AS tanggal, (TO_DAYS(d) - TO_DAYS(CURDATE()))/7 AS 'interval' FROM tanggal;
+------------+------------+
| tanggal    | interval   |
+------------+------------+
| 1980-02-03 | -2204.7143 |
| 1990-10-12 | -1647.0000 |
| 2000-12-21 | -1115.1429 |
| 2012-12-12 |  -490.2857 |
| 2022-04-24 |    -1.7143 |
| 2022-04-23 |    -1.8571 |
| 2022-04-25 |    -1.5714 |
+------------+------------+
7 rows in set (0.00 sec)

Kemudian jika ingin menghitung interval waktu dalam menit/detik, Anda bisa menggunakan TIME_TO_SEC() untuk mengubah nilai waktu dalam hitungan detik, kemudian jika ingin mengkonversinya kedalam menit Anda cukup mebaginya 60, jika dalam jam bisa dibagi (60*60), jika dalam hari dibagi (24*60*60)

MariaDB [root93]> SELECT dt AS Tanggal, NOW() AS 'Tangggal Sekarang', TIME_TO_SEC(dt)-TIME_TO_SEC(NOW())/60 AS 'Interval Menit'
    -> , TIME_TO_SEC(dt)-TIME_TO_SEC(NOW()) AS 'Interval Detik' FROM tanggal_waktu;
+---------------------+---------------------+----------------+----------------+
| Tanggal             | Tangggal Sekarang   | Interval Menit | Interval Detik |
+---------------------+---------------------+----------------+----------------+
| 1970-01-01 00:00:00 | 2022-05-06 14:01:48 |      -841.8000 |         -50508 |
| 1993-07-30 10:20:31 | 2022-05-06 14:01:48 |     36389.2000 |         -13277 |
| 2000-02-01 17:20:31 | 2022-05-06 14:01:48 |     61589.2000 |          11923 |
| 2021-01-23 21:20:31 | 2022-05-06 14:01:48 |     75989.2000 |          26323 |
+---------------------+---------------------+----------------+----------------+
4 rows in set (0.00 sec)

Baca selanjutnya : Merubah String Tanggal Bukan ISO - MySQL Dasar #25

0 Response to "Menghitung Interval Antar Tanggal - MySQL Dasar #24"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin