Menambah Interval Pada Tanggal dan Waktu - MySQL Dasar #23
Untuk waktu sebenarnya bisa menggunakan alternatif lain seperti yang sudah dibahas pada artikel sebelumnya seperti misalnya untuk menambah interval waktu Anda bisa mengkonversi terlebih dahulu nilai waktu menggunakan fungsi TIME_TO_SEC kemudian ditambah dengan nilai detik waktu selanjutnya dikonversi menjadi nilai utuh menggunakan SEC_TO_TIME
Anda dapat menambah interval untuk waktu perjam/menit/detik, dan tanggal perhari/bulan/tahun. Nilai interval cukup didefinisikan didalam fungsi DATE_ADD atau DATE_SUB
Menambah dan Mengurangi Interval Tanggal
Fungsi DATE_SUB dapat diterapakan pada nilai DATE, TIME, atau DATE_TIME untuk menambah interval waktu dari tanggal saat ini atau nilai tanggal pada data menjadi lebih besar dari sebelumnya. Perhatikan contoh berikut :
MariaDB [root93]> SELECT d AS 'TANGGAL AWAL', DATE_ADD(d, INTERVAL 1 DAY) AS 'DATE_ADD()', DATE_SUB(d,INTERVAL 2 DAY) AS 'DATE SUB' FROM tanggal;
+--------------+------------+------------+
| TANGGAL AWAL | DATE_ADD() | DATE SUB |
+--------------+------------+------------+
| 1980-02-03 | 1980-02-04 | 1980-02-01 |
| 1990-10-12 | 1990-10-13 | 1990-10-10 |
| 2000-12-21 | 2000-12-22 | 2000-12-19 |
| 2012-12-12 | 2012-12-13 | 2012-12-10 |
| 2022-04-24 | 2022-04-25 | 2022-04-22 |
| 2022-04-23 | 2022-04-24 | 2022-04-21 |
| 2022-04-25 | 2022-04-26 | 2022-04-23 |
+--------------+------------+------------+
7 rows in set (0.00 sec)
Menambah dan Mengurangi Interval Waktu
Selanjutnya interval waktu bisa ditambah jam atau nilai menitnya dengan tambahan parameter HOUR, MINUTE, SECOND untuk merepresentasikan nilai jam/menit/detik.
Perhatikan contoh dibawah ini, dimana Saya akan menambah interval waktu pada t1 sebanyak 2 jam dan t2 menguranginya sebanyak 3 jam
MariaDB [root93]> SELECT t1, t2, DATE_ADD(t1, INTERVAL 2 HOUR), DATE_SUB(t2, INTERVAL 3 HOUR) FROM waktu;
+----------+----------+-------------------------------+-------------------------------+
| t1 | t2 | DATE_ADD(t1, INTERVAL 2 HOUR) | DATE_SUB(t2, INTERVAL 3 HOUR) |
+----------+----------+-------------------------------+-------------------------------+
| 15:00:00 | 17:00:00 | 17:00:00 | 14:00:00 |
| 08:02:00 | 14:30:00 | 10:02:00 | 11:30:00 |
| 13:20:21 | 21:14:01 | 15:20:21 | 18:14:01 |
| 21:00:23 | 19:03:20 | 23:00:23 | 16:03:20 |
| 23:00:23 | 21:03:20 | 25:00:23 | 18:03:20 |
| 14:30:23 | 08:24:36 | 16:30:23 | 05:24:36 |
| 15:08:02 | 13:24:36 | 17:08:02 | 10:24:36 |
+----------+----------+-------------------------------+-------------------------------+
Selanjutnya disini kita akan menambah interval menit pada t1 sebanyak 10 menit dan t2 menguranginya 10 menit.
MariaDB [root93]> SELECT t1, t2, DATE_ADD(t1, INTERVAL 10 MINUTE), DATE_SUB(t2, INTERVAL 10 MINUTE) FROM waktu;
+----------+----------+----------------------------------+----------------------------------+
| t1 | t2 | DATE_ADD(t1, INTERVAL 10 MINUTE) | DATE_SUB(t2, INTERVAL 10 MINUTE) |
+----------+----------+----------------------------------+----------------------------------+
| 15:00:00 | 17:00:00 | 15:10:00 | 16:50:00 |
| 08:02:00 | 14:30:00 | 08:12:00 | 14:20:00 |
| 13:20:21 | 21:14:01 | 13:30:21 | 21:04:01 |
| 21:00:23 | 19:03:20 | 21:10:23 | 18:53:20 |
| 23:00:23 | 21:03:20 | 23:10:23 | 20:53:20 |
| 14:30:23 | 08:24:36 | 14:40:23 | 08:14:36 |
| 15:08:02 | 13:24:36 | 15:18:02 | 13:14:36 |
+----------+----------+----------------------------------+----------------------------------+
7 rows in set (0.00 sec)
Selanjutnya penambahan interval tanggal atau waktu/jam dengan kombinasi keduanya yaitu HOUR_MINUTE untuk jam dan menit, DAY_HOUR untuk hari dan jam
MariaDB [root93]> SELECT t1, DATE_ADD(t1, INTERVAL '01:30' HOUR_MINUTE) FROM waktu;
+----------+--------------------------------------------+
| t1 | DATE_ADD(t1, INTERVAL '01:30' HOUR_MINUTE) |
+----------+--------------------------------------------+
| 15:00:00 | 16:30:00 |
| 08:02:00 | 09:32:00 |
| 13:20:21 | 14:50:21 |
| 21:00:23 | 22:30:23 |
| 23:00:23 | 24:30:23 |
| 14:30:23 | 16:00:23 |
| 15:08:02 | 16:38:02 |
+----------+--------------------------------------------+
7 rows in set (0.00 sec)
MariaDB [root93]> SELECT dt, DATE_ADD(dt, INTERVAL '01:30' HOUR_MINUTE), DATE_ADD(dt, INTERVAL '2 3' DAY_HOUR) FROM tanggal_waktu;
+---------------------+--------------------------------------------+---------------------------------------+
| dt | DATE_ADD(dt, INTERVAL '01:30' HOUR_MINUTE) | DATE_ADD(dt, INTERVAL '2 3' DAY_HOUR) |
+---------------------+--------------------------------------------+---------------------------------------+
| 1970-01-01 00:00:00 | 1970-01-01 01:30:00 | 1970-01-03 03:00:00 |
| 1993-07-30 10:20:31 | 1993-07-30 11:50:31 | 1993-08-01 13:20:31 |
| 2000-02-01 17:20:31 | 2000-02-01 18:50:31 | 2000-02-03 20:20:31 |
| 2021-01-23 21:20:31 | 2021-01-23 22:50:31 | 2021-01-26 00:20:31 |
+---------------------+--------------------------------------------+---------------------------------------+
4 rows in set (0.00 sec)
Baca selanjutnya : Menghitung Interval Antar Tanggal - MySQL Dasar #24
0 Response to "Menambah Interval Pada Tanggal dan Waktu - MySQL Dasar #23"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin