sql >> Database teknologi >  >> RDS >> Mysql

Sådan ændres sekunder til en tidsværdi i MySQL

Problem:

Du vil gerne vise et antal sekunder som en tidsværdi i timer, minutter og sekunder i MySQL.

Eksempel:

Vores database har en tabel med navnet athlete_score med data i kolonnerne id , first_name , last_name , og score_seconds .

id fornavn efternavn score_seconds
1 Emily Watson 1124
2 Tom Garcia 987
3 Gary Martinez 1003
4 James Anderson 1233

Lad os for hver atlet få deres for- og efternavne og deres rekordtid fra seconds_record kolonne. Lige nu er det gemt som et antal sekunder; lad os vise det i TT:MM:SS-format.

Løsning:

Vi bruger SEC_TO_TIME() fungere. Her er den forespørgsel, du ville skrive:

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

Her er resultatet af forespørgslen:

fornavn efternavn score_time
Emily Watson 00:18:44
Tom Garcia 00:16:27
Gary Martinez 00:16:43
James Anderson 00:20:33

Diskussion:

Brug SEC_TO_TIME () funktion, hvis du vil vise et antal sekunder som en tidsværdi i MySQL. Denne funktion tager kun ét argument – ​​enten et udtryk, der returnerer sekunder som et heltal, eller en kolonne, der gemmer et antal sekunder som et heltal. (I vores eksempel bruger vi kolonnen score_seconds .)

SEC_TO_TIME() returnerer tiden i TT:MM:SS-formatet, hvor TT er en time fra 00 til 59, MM er minutter fra 01 til 59, og SS er sekunder fra 00 til 59. I vores eksempel, Emily Watson score i sekunder er 1124 sekunder; som tidsværdi er den 18 minutter og 44 sekunder.


  1. En oversigt over Just-in-Time Compilation (JIT) til PostgreSQL

  2. Fatal fejl:Kald til udefineret funktion sqlsrv_connect() i C:\xampp\htdocs

  3. 2 måder at se, om forældede funktioner stadig bliver brugt i en SQL Server-instans

  4. postgres standardtidszone