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).