Ако трябва да добавите една или повече микросекунди към стойност за дата и час в MariaDB, ето 8 опции, които да разгледате.
DATE_ADD() Функция
DATE_ADD() функцията ви позволява да добавите сума към израз за дата или час. Това включва добавяне на части от време, като часове, минути, секунди, микросекунди и др.
Пример:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND); Резултат:
+----------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+----------------------------------------------------------+
В този случай добавих 35 микросекунди към израза за дата и час. Обърнете внимание, че SECOND ключовата дума остава не в множествено число, независимо дали добавям една секунда или повече.
Може също да забележите, че частта с микросекундите не е в първоначалната ми стойност за дата и час, но беше добавена, след като добавих микросекундите.
По подобен начин, ето какво се случва, ако предоставя само датата:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND); Резултат:
+-------------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND) |
+-------------------------------------------------+
| 2021-05-01 00:00:00.000035 |
+-------------------------------------------------+
Частта от времето се добавя към резултата и се приема, че първоначалното време е 00:00:00.000000 .
Можете също да използвате съставна единица за дата/час, за да добавите няколко единици. Например, ако искате да добавите 1 минута и 30 секунди, можете да направите това:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND); Резултат:
+---------------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' SECOND_MICROSECOND) |
+---------------------------------------------------------------------+
| 2021-05-01 10:00:01.300000 |
+---------------------------------------------------------------------+ Вижте Мерките за дата и час в MariaDB за пълен списък с единици за дата/час.
ADDDATE() Функция
Друг начин да добавите секунди към израз за дата и час е да използвате ADDDATE() функция. Тази функция има два синтаксиса:
- Един синтаксис ви позволява да добавите няколко дни към дата, което не е това, което правим тук.
- Другият синтаксис е същият като при
DATE_ADD()функция по-горе. Когато използвате този синтаксис,ADDDATE()е синоним наDATE_ADD().
Пример:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND); Резултат:
+---------------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+---------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+---------------------------------------------------------+ DATE_SUB() Функция
DATE_SUB() функцията ви позволява да изваждате сума за израз за дата/дата и час. Ако обаче предоставите отрицателна стойност за изваждане, тя накрая се добавя до датата/часа.
Пример:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND); Резултат:
+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+-----------------------------------------------------------+ SUBDATE() Функция
SUBDATE() функцията е синоним на DATE_SUB() когато използвате следния синтаксис.
Пример:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND); Резултат:
+----------------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035 |
+----------------------------------------------------------+ + Оператор
Друга възможност е да използвате + оператор.
+ Операторът се използва за извършване на събиране и можем да го използваме за дати, заедно с приложимата единица дата/час, за да добавим определен брой микросекунди към нашия израз за дата и час.
Пример:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND; Резултат:
+-------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +-------------------------------------------------+
- Оператор
- Операторът може да се използва за изваждане на сума от дата. Но ако се използва за изваждане на отрицателно число, резултатът е положително количество, което се добавя към израза за дата и час:
SELECT '2021-05-01 10:00:00' - INTERVAL -35 MICROSECOND; Резултат:
+--------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 10:00:00.000035 | +--------------------------------------------------+
ADDTIME() Функция
Можете да използвате ADDTIME() функция за добавяне на няколко милисекунди към израз за дата и час.
Пример:
SELECT ADDTIME('2021-05-01 10:00:00', '00:00:00.123456'); Резултат:
+---------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 10:00:00.123456 |
+---------------------------------------------------+ Едно от предимствата на тази функция е, че можете да промените и другите единици за време, като часове, секунди и т.н.
SUBTIME() Функция
Като алтернатива можете да го превключите и да използвате SUBTIME() с отрицателна стойност, ако желаете:
SELECT SUBTIME('2021-05-01 10:00:00', '-00:00:00.123456'); Резултат:
+----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:00:00.123456') |
+----------------------------------------------------+
| 2021-05-01 10:00:00.123456 |
+----------------------------------------------------+ Други единици за дата и час
Горните примери добавят определен брой микросекунди към стойността дата и час, но можем да използваме същите техники, за да добавим всяка единица дата/час. Вижте Мерките за дата и час в MariaDB за пълен списък с единици за дата/час, които могат да се използват с горните функции и оператори.