sql >> Database >  >> RDS >> Mysql

Converteer seconden naar voor mensen leesbare tijdsduur

TIME_FORMAT(SEC_TO_TIME(task_records.time_spent),'%Hh %im')

Documentatie is je vriend:

Volgens commentaar:

DROP FUNCTION IF EXISTS GET_HOUR_MINUTES;
CREATE FUNCTION GET_HOUR_MINUTES(seconds INT)
  RETURNS VARCHAR(16)

  BEGIN
  DECLARE result VARCHAR(16);
  IF seconds >= 3600 THEN SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%kh %lm');
  ELSE SET result = TIME_FORMAT(SEC_TO_TIME(seconds),'%lm');
  RETURN result;
  END

DELIMETER ;

Gebruik:

SELECT GET_HOUR_MINUTES(task_records.time_spent) FROM table


  1. Dynamische tabelnamen in de functie voor opgeslagen procedures

  2. MySQL - hoe bewaar je tijd met de juiste tijdzone? (van Java)

  3. Hoe selecteer ik alle kolommen uit een tabel, plus extra kolommen zoals ROWNUM?

  4. Hoe doe je meerdere SQL-statements in één mysql_query?