Berikut adalah beberapa opsi untuk mengurangi satu jam atau lebih dari nilai datetime di MariaDB.
The SUBTIME() Fungsi
SUBTIME() mengurangi jumlah waktu tertentu dari nilai waktu atau tanggal.
Contoh:
SELECT SUBTIME('2021-05-01 10:00:00', '01:00:00'); Hasil:
+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '01:00:00') |
+--------------------------------------------+
| 2021-05-01 09:00:00 |
+--------------------------------------------+ Anda juga dapat mengubah satuan waktu lainnya, seperti menit, detik, dll.
DATE_SUB() Fungsi
DATE_SUB() fungsi memungkinkan Anda untuk mengurangi sejumlah unit tanggal/waktu tertentu dari ekspresi tanggal atau waktu. Oleh karena itu kita dapat menggunakan fungsi ini untuk mengembalikan nilai datetime, dikurangi sejumlah jam tertentu.
Contoh:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR); Hasil:
+--------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 09:00:00 |
+--------------------------------------------------+ Anda juga dapat menggunakan unit tanggal dan waktu gabungan. Misalnya, Anda dapat melakukan berjam-jam dan menit sekaligus.
Contoh:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE); Hasil:
+---------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE) |
+---------------------------------------------------------------+
| 2021-04-30 18:30:00 |
+---------------------------------------------------------------+ Hanya Melewati Tanggal
Inilah yang terjadi jika kami hanya memberikan nilai tanggal:
SELECT DATE_SUB('2021-05-01', INTERVAL 1 HOUR); Hasil:
+-----------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 1 HOUR) |
+-----------------------------------------+
| 2021-04-30 23:00:00 |
+-----------------------------------------+
Ini mengasumsikan waktu dimulai pada 00:00:00, dan dengan demikian HOUR jumlah dikurangi dari itu.
Beberapa Jam
Jika Anda perlu mengurangi lebih dari satu jam, gunakan saja angka itu alih-alih 1 . Namun, HOUR kata kunci tetap non-jamak terlepas dari:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR); Hasil:
+--------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR) |
+--------------------------------------------------+
| 2021-05-01 08:00:00 |
+--------------------------------------------------+ Operator Pengurangan (- )
Cara lain untuk mengurangi jam dari ekspresi datetime adalah dengan menggunakan operator pengurangan (- ), juga dikenal sebagai operator minus.
Contoh:
SELECT '2021-05-01 10:00:00' - INTERVAL 48 HOUR; Hasil:
+------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 48 HOUR | +------------------------------------------+ | 2021-04-29 10:00:00 | +------------------------------------------+
Operator Penambahan (+ )
Anda juga dapat menggunakan operator tambahan (+ ) bersama dengan jumlah negatif.
Contoh:
SELECT '2021-05-01 10:00:00' + INTERVAL -48 HOUR; Hasil:
+-------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -48 HOUR | +-------------------------------------------+ | 2021-04-29 10:00:00 | +-------------------------------------------+
Cara Lain untuk Mengurangi Jam
Berikut adalah beberapa pendekatan lain yang dapat Anda gunakan untuk mengurangi satu jam atau lebih dari nilai datetime:
ADDTIME()fungsi (menyediakan jumlah negatif akan mengurangi jumlah tersebut dari nilai datetime).SUBDATE()fungsi (ini adalah sinonim untukDATE_SUB()ketika digunakan dengan sintaks yang sama).DATE_ADD()fungsi (menyediakan jumlah negatif akan mengurangi jumlah tersebut dari nilai datetime).ADDDATE()fungsi (menyediakan jumlah negatif akan mengurangi jumlah tersebut dari nilai datetime).