Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zmienić sekundy na wartość czasu w MySQL?

Problem:

Chcesz wyświetlić liczbę sekund jako wartość czasu w godzinach, minutach i sekundach w MySQL.

Przykład:

Nasza baza danych zawiera tabelę o nazwie athlete_score z danymi w kolumnach id , first_name , last_name i score_seconds .

id imię nazwisko score_seconds
1 Emilia Watson 1124
2 Tomek Garcia 987
3 Gary Martinez 1003
4 James Anderson 1233

Dla każdego sportowca zdobądźmy jego imię i nazwisko oraz czas ich rekordu z seconds_record kolumna. W tej chwili jest przechowywany jako liczba sekund; wyświetlmy to w formacie GG:MM:SS.

Rozwiązanie:

Użyjemy SEC_TO_TIME() funkcjonować. Oto zapytanie, które możesz napisać:

SELECT first_name,
       last_name,
       SEC_TO_TIME(score_seconds)
         AS  score_time
FROM athlete_score;

Oto wynik zapytania:

imię nazwisko score_time
Emilia Watson 00:18:44
Tomek Garcia 00:16:27
Gary Martinez 00:16:43
James Anderson 00:20:33

Dyskusja:

Użyj SEC_TO_TIME () funkcja, jeśli chcesz wyświetlić liczbę sekund jako wartość czasu w MySQL. Ta funkcja przyjmuje tylko jeden argument — wyrażenie zwracające sekundy jako liczbę całkowitą lub kolumnę przechowującą liczbę sekund jako liczbę całkowitą. (W naszym przykładzie używamy kolumny score_seconds .)

SEC_TO_TIME() zwraca czas w formacie GG:MM:SS, gdzie GG to godzina od 00 do 59, MM to minuty od 01 do 59, a SS to sekundy od 00 do 59. W naszym przykładzie Emily Watson wynik w sekundach to 1124 sekundy; jako wartość czasu jest to 18 minut i 44 sekundy.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wiele zapytań PDO

  2. Utwórz kopię zapasową baz danych MySQL

  3. Znajdź rekordy z jednej tabeli, które nie istnieją w innej

  4. Wyzwalacz MySQL do aktualizacji pola do wartości id

  5. 10 najciekawszych faktów i wskazówek dotyczących MySQL