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

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

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

SECOND() Функция

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

Пример:

SELECT SECOND('03:45:30'); 

Резултат:

+-------------------+| SECOND('03:45:30') |+-------------------+| 30 |+-------------------+

TIME стойностите могат да бъдат в диапазона '-838:59:59.999999' до '838:59:59.999999' . Това включва микросекунди, но SECOND() връща само частта от секундите (има MICROSECOND() функция за връщане на микросекунди).

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

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

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

Резултат:

+----------------------------+| SECOND('-838:59:59.999999') |+----------------------------+| 59 |+----------------------------+

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

EXTRACT() Функция

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

Пример:

SELECT EXTRACT(SECOND FROM '10:47:01'); 

Резултат:

+--------------------------------+| ЕКСТРАКТ(ВТОРИ ОТ '10:47:01') |+--------------------------------+| 1 |+--------------------------------+

TIME_FORMAT() Функция

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

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

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

SELECT 
    TIME_FORMAT('10:07:30', '%s'),
    TIME_FORMAT('10:07:30', '%S'); 

Резултат:

+------------------------------+-------------- -----------------+| TIME_FORMAT('10:07:30', '%s') | TIME_FORMAT('10:07:30', '%S') |+------------------------------+- ------------------------------+| 30 | 30 |+----------------------------------+-------------- ----------------+

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

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

Резултат:

<пред>+--------------+-----------+| Микросекунди | И двете |+--------------+-----------+| 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', '%s'); 

Резултат:

+------------------------------------+| DATE_FORMAT('2023-01-01 10:07:30', '%s') |+---------------------------- --------------+| 30 |+--------------------------------------------------+

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

SELECT DATE_FORMAT('10:07:30', '%s') AS '%s'; 

Резултат:

+------+| %s |+------+| 00 |+------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel:Посоченият ключ беше твърде дълъг; максималната дължина на ключа е 767 байта

  2. Форматиране на числа със запетаи в MariaDB

  3. Разлика между SYSDATE() и NOW() в MariaDB

  4. Обработване на проблеми с репликацията от не-GTID към GTID MariaDB клъстери от база данни

  5. Стартиране на клъстер MariaDB Galera без инструменти за оркестриране - Управление на DB контейнери:Част втора