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

SEC_TO_TIME() Примери – MySQL

Когато използвате MySQL, можете да използвате SEC_TO_TIME() функция за изграждане на време стойност въз основа на даден брой секунди. По принцип предоставяте броя на секундите като аргумент и той ще го преобразува в време стойност.

Ето как работи.

Синтаксис

Синтаксисът е така:

SEC_TO_TIME(seconds)

Където seconds е броят на секундите, който искате да преобразувате в време стойност.

Пример 1 – Основна употреба

Ето пример за демонстрация.

SELECT SEC_TO_TIME(65);

Резултат:

+-----------------+
| SEC_TO_TIME(65) |
+-----------------+
| 00:01:05        |
+-----------------+

Пример 2 – По-голяма стойност

Ето пример с малко по-голяма стойност.

SELECT SEC_TO_TIME(6555);

Резултат:

+-------------------+
| SEC_TO_TIME(6555) |
+-------------------+
| 01:49:15          |
+-------------------+

Ето отново един с още по-голяма стойност.

SELECT SEC_TO_TIME(655555);

Резултат:

+---------------------+
| SEC_TO_TIME(655555) |
+---------------------+
| 182:05:55           |
+---------------------+

Така че стойността на времето не е ограничена до 24 часа. Това е така, защото не се ограничава само до представяне на времето от деня. Може също да представлява изминало време или времеви интервал между две събития.

Пример 3 – Ограничения на типа данни във времето

time типът данни е ограничен до диапазон от -838:59:59 до 838:59:59 . Ако резултатът е извън този диапазон, ще получите предупреждение.

SELECT SEC_TO_TIME(6555555);

Резултат:

+----------------------+
| SEC_TO_TIME(6555555) |
+----------------------+
| 838:59:59            |
+----------------------+
1 row in set, 1 warning (0.00 sec)

Бъдете внимателни все пак. Показаната времева стойност може да е подвеждаща, тъй като ще спре на 838:59:59 дори и резултатът да е по-голям от това.

Ето още един пример, използващ отново по-голяма стойност.

SELECT SEC_TO_TIME(65555550000);

Резултат:

+--------------------------+
| SEC_TO_TIME(65555550000) |
+--------------------------+
| 838:59:59                |
+--------------------------+
1 row in set, 1 warning (0.00 sec)

Забележете, че получаваме същия резултат като в предишния пример, въпреки че аргументът seconds е много по-голям в този.

Пример 4 – Числов контекст

Ето пример за използване на SEC_TO_TIME() в числов контекст. Правим това, като добавяме стойност (в този случай 0 ) към изявлението.

SELECT 
    SEC_TO_TIME(6555),
    SEC_TO_TIME(6555) + 0;

Резултат:

+-------------------+-----------------------+
| SEC_TO_TIME(6555) | SEC_TO_TIME(6555) + 0 |
+-------------------+-----------------------+
| 01:49:15          |                 14915 |
+-------------------+-----------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-бързият метод за архивиране и възстановяване на MySQL

  2. Можете ли да използвате псевдоним в клаузата WHERE в mysql?

  3. ProxySQL:Всички няколко ресурси

  4. PHP PDO:набор от знаци, имена на набори?

  5. 8-те най-популярни бази данни