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

4 функции, които извличат микросекунди от времева стойност в MariaDB

По-долу са 4 функции, които ви позволяват да върнете микросекундната част от времева стойност в MariaDB.

MICROSECOND() Функция

MICROSECOND() функцията връща микросекундната част от даден TIME или DATETIME изразяване. Той приема един аргумент, който е времето, от което искате да извлечете микросекундите.

Пример:

SELECT MICROSECOND('10:45:30.123456'); 

Резултат:

+--------------------------------+| MICROSECOND('10:45:30.123456') |+--------------------------------+| 123456 |+--------------------------------+

TIME стойностите могат да бъдат в диапазона '-838:59:59.999999' до '838:59:59.999999' .

TIME стойностите също могат да бъдат отрицателни. В такива случаи MICROSECOND() връща положителна стойност.

Ето отрицателна времева стойност с микросекунди:

SELECT MICROSECOND('-838:59:59.999999'); 

Резултат:

+---------------------------------+| МИКРОСЕКУНДА('-838:59:59.999999') |+----------------------------------+| 999999 |+---------------------------------+

Частта от микросекундите се извлича според очакванията.

EXTRACT() Функция

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

Пример:

SELECT EXTRACT(MICROSECOND FROM '10:45:30.123456'); 

Резултат:

+----------------------------------------------------+ | ИЗВЛЕЧВАНЕ (МИКРОСЕКУНДА ОТ '10:45:30.123456') |+----------------------------------- ---------+| 123456 |+------------------------------------------+ 

TIME_FORMAT() Функция

TIME_FORMAT() функцията ви позволява да форматирате времева стойност въз основа на низ за форматиране. Форматният низ указва как трябва да се форматира времето.

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

%f спецификаторът на формат връща микросекундите:

SELECT TIME_FORMAT('10:07:30.003456', '%f'); 

Резултат:

+----------------------------------------+| TIME_FORMAT('10:07:30.003456', '%f') |+-------------------------------- -----+| 003456 |+----------------------------------------+

Можете също да използвате $s или $S спецификатор на формат за връщане на секундната част:

SELECT 
    TIME_FORMAT('10:07:30.123456', '%s') AS "Seconds",
    TIME_FORMAT('10:07:30.123456', '%f') AS "Microseconds",
    TIME_FORMAT('10:07:30.123456', '%s.%f') AS "Both"; 

Резултат:

<пред>+--------+--------------+-----------+| Секунди | Микросекунди | И двете |+--------+--------------+----------+| 30 | 123456 | 30.123456 |+--------+--------------+-----------+

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.007123', '%f'); 

Резултат:

+------------------------------------------------------- ---+| DATE_FORMAT('2023-01-01 10:07:30.007123', '%f') |+---------------------------- ---------------------+| 007123 |+-------------------------------------------------- --+

Подаване само на TIME стойност не работи с тази функция:

SELECT DATE_FORMAT('10:07:30.007123', '%f'); 

Резултат:

+----------------------------------------+| DATE_FORMAT('10:07:30.007123', '%f') |+-------------------------------- -----+| NULL |+----------------------------------------+1 ред в комплект, 1 предупреждение ( 0,003 сек)

Нека видим предупреждението:

SHOW WARNINGS; 

Резултат:

+--------+------+---------------------------- ----------------+| Ниво | Код | Съобщение |+--------+------+------------------------------ ---------------+| Предупреждение | 1292 | Неправилна стойност за дата и час:'10:07:30.007123' |+---------+------+------------------- -------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталирайте WordPress с Nginx, MariaDB 10 и PHP 7 на Debian 9

  2. Как ATAN2() работи в MariaDB

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

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

  5. Внедряване в множество облаци за репликация на MariaDB с помощта на WireGuard