MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Извадете микросекунди от стойност на дата и час в MariaDB

Ето някои опции за изваждане на една или повече микросекунди от израз за дата и час в MariaDB.

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 09:59:59.876544                        |
+---------------------------------------------------+

Можете също да промените другите единици за време, като часове, минути, секунди и т.н.

DATE_SUB() Функция

DATE_SUB() функцията ви позволява да извадите определен брой единици дата/час от израз за дата или час. Следователно можем да използваме тази функция, за да върнем стойността за дата и час, минус определен брой микросекунди.

Пример:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);

Резултат:

+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700                                |
+-----------------------------------------------------------+

Обърнете внимание, че MICROSECOND ключовата дума остава не в множествено число, независимо дали изваждате една микросекунда или повече.

Предаване само на датата

Ето какво се случва, ако предоставим само стойност за дата:

SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND);

Резултат:

+------------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) |
+------------------------------------------------+
| 2021-04-30 23:59:59.999997                     |
+------------------------------------------------+

Предполага се, че времето започва от 00:00:00 и така MICROSECOND сумата се изважда от това.

Операторът за изваждане (- )

Друг начин да извадите една или повече микросекунди от стойност за дата и час е да използвате оператора за изваждане (- ), известен също като оператор минус.

Пример:

SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND;

Резултат:

+-------------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND |
+-------------------------------------------------+
| 2021-05-01 09:59:59.999970                      |
+-------------------------------------------------+

Операторът за събиране (+ )

Като алтернатива можете да използвате оператора за добавяне (+ ) заедно с отрицателна сума.

Пример:

SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND;

Резултат:

+--------------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND |
+--------------------------------------------------+
| 2021-05-01 09:59:59.999970                       |
+--------------------------------------------------+

Други начини за изваждане на микросекунди

Ето някои други подходи, които можете да използвате, за да извадите една или повече микросекунди от стойност за дата и час:

  • SUBTIME() функция.
  • ADDTIME() функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).
  • SUBDATE() функция (това е синоним на DATE_SUB() когато се използва със същия синтаксис).
  • DATE_ADD() функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).
  • ADDDATE() функция (предоставянето на отрицателна сума ще извади тази сума от стойността за дата и час).

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как MAKEDATE() работи в MariaDB

  2. MariaDB 10.6 и NextCloud:COMPRESSED Редът е само за четене по подразбиране

  3. Как CHAR() работи в MariaDB

  4. Най-често срещани проблеми с MHA и как да ги поправите

  5. Управление на потребителите на база данни:Управляващи роли за MariaDB