Ето някои опции за изваждане на една или повече минути от израз за дата и час в MariaDB.
SUBTIME()
Функция
SUBTIME()
изважда даден период от време от стойност за час или дата и час.
Пример:
SELECT SUBTIME('2021-05-01 10:00:00', '00:30:00');
Резултат:
+--------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '00:30:00') | +--------------------------------------------+ | 2021-05-01 09:30:00 | +--------------------------------------------+
Можете също да промените другите единици за време, като часове, секунди и т.н.
DATE_SUB()
Функция
DATE_SUB()
функцията ви позволява да извадите определен брой единици дата/час от израз за дата или час. Следователно можем да използваме тази функция, за да върнем стойността за дата и час, минус определен брой минути.
Пример:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE);
Резултат:
+-----------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE) | +-----------------------------------------------------+ | 2021-05-01 09:30:00 | +-----------------------------------------------------+
Имайте предвид, че MINUTE
ключовата дума остава не в множествено число, независимо от това дали изваждаме една минута или повече.
Можете също да използвате съставни единици за дата и час. Например, можете да правите минути и секунди наведнъж.
Пример:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND);
Резултат:
+-----------------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) | +-----------------------------------------------------------------+ | 2021-05-01 09:44:30 | +-----------------------------------------------------------------+
Предаване само на датата
Ето какво се случва, ако предоставим само стойност за дата на DATE_SUB()
функция:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 MINUTE);
Резултат:
+--------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 30 MINUTE) | +--------------------------------------------+ | 2021-04-30 23:30:00 | +--------------------------------------------+
Предполага се, че времето започва от 00:00:00 и така MINUTE
сумата се изважда от това.
Операторът за изваждане (-
)
Друг начин да извадите една или повече минути от стойност за дата и час е да използвате оператора за изваждане (-
), известен също като оператор минус.
Пример:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MINUTE;
Резултат:
+--------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MINUTE | +--------------------------------------------+ | 2021-05-01 09:30:00 | +--------------------------------------------+
Операторът за събиране (+
)
Като алтернатива можете да използвате оператора за добавяне (+
) заедно с отрицателна сума.
Пример:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MINUTE;
Резултат:
+---------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MINUTE | +---------------------------------------------+ | 2021-05-01 09:30:00 | +---------------------------------------------+
Други начини за изваждане на минути
Ето някои други подходи, които можете да използвате, за да извадите една или повече минути от стойност за дата и час:
ADDTIME()
функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).SUBDATE()
функция (това е синоним наDATE_SUB()
когато се използва със същия синтаксис).DATE_ADD()
функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).ADDDATE()
функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).