Menghitung Interval Antar Tanggal - MySQL Dasar #24
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