По-долу са дадени 4 функции, които ви позволяват да върнете частта от минутите от времева стойност в MariaDB.
MINUTE()
Функция
MINUTE()
функцията връща минутната част от даден TIME
или DATETIME
изразяване. Той приема един аргумент, който е времето, от което искате да извлечете минутите.
Пример:
SELECT MINUTE('03:45:30');
Резултат:
+--------------------+ | MINUTE('03:45:30') | +--------------------+ | 45 | +--------------------+
TIME
стойностите могат да бъдат в диапазона '-838:59:59.999999'
до '838:59:59.999999'
. Така че, въпреки че частта с часове може да бъде много по-висока от 23
, частта за минутите може да бъде само в диапазона 0
до 59
.
TIME
стойностите също могат да бъдат отрицателни. В такива случаи MINUTE()
връща положителна стойност.
Ето отрицателна времева стойност с по-голяма част от часа:
SELECT MINUTE('-838:59:59');
Резултат:
+----------------------+ | MINUTE('-838:59:59') | +----------------------+ | 59 | +----------------------+
Частта с минутите се извлича според очакванията.
EXTRACT()
Функция
EXTRACT()
функцията ви позволява да извлечете определена единица от стойността за дата/час. Следователно можете да го използвате, за да извлечете минутите (както и други единици) от стойността на времето.
Пример:
SELECT EXTRACT(MINUTE FROM '10:47:01');
Резултат:
+---------------------------------+ | EXTRACT(MINUTE FROM '10:47:01') | +---------------------------------+ | 47 | +---------------------------------+
TIME_FORMAT()
Функция
TIME_FORMAT()
функцията ви позволява да форматирате времева стойност въз основа на низ за форматиране. Форматният низ указва как трябва да се форматира времето.
Следователно можете да използвате тази функция, за да върнете минутите (както и часовете и секундите) от времето.
Използване на %i
спецификаторът на формат връща минутите с две цифри:
SELECT TIME_FORMAT('10:07:30', '%i');
Резултат:
+-------------------------------+ | TIME_FORMAT('10:07:30', '%i') | +-------------------------------+ | 07 | +-------------------------------+
TIME_FORMAT()
функцията приема подмножество от форматни низове, които могат да се използват с DATE_FORMAT()
функция. Вижте MariaDB Format Strings за пълен списък с низове/спецификатори на формат, които могат да се използват с DATE_FORMAT()
. TIME_FORMAT()
функцията приема спецификатори на формат само за часове, минути и секунди. Всеки друг спецификатор на формат води до null
или 0
се връща.
DATE_FORMAT()
Функция
DATE_FORMAT()
функцията ви позволява да форматирате стойност на дата или дата и час въз основа на низ за форматиране. Форматният низ указва как трябва да се форматира датата/часът.
Следователно можем да използваме същите спецификатори на формат, които използвахме с TIME_FORMAT()
функция в предишния пример. Въпреки това, DATE_FORMAT()
не приема TIME
стойност, така че ще трябва да предадем DATETIME
стойност.
SELECT DATE_FORMAT('2023-01-01 10:07:30', '%i');
Резултат:
+------------------------------------------+ | DATE_FORMAT('2023-01-01 10:07:30', '%i') | +------------------------------------------+ | 07 | +------------------------------------------+
Подаване само на TIME
стойност не работи с тази функция:
SELECT DATE_FORMAT('10:07:30', '%i') AS '%i';
Резултат:
+------+ | %i | +------+ | 00 | +------+