sql >> Databasteknik >  >> RDS >> Mysql

Överträffar MySQL:s tidsgräns på 838:59:59

Jag skulle bara hämta det totala antalet arbetade sekunder och konvertera till timmar/minuter som krävs i presentationslagret i min ansökan (det är trots allt ett enkelt fall av division med 60):

<?
  $dbh = new PDO("mysql:dbname=$dbname", $username, $password);
  $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);

  $qry = $dbh->prepare('
    SELECT SUM(TIME_TO_SEC(entry_end_time)-TIME_TO_SEC(entry_start_time))
    FROM   entry 
    WHERE  entry_date BETWEEN :start_date AND :end_date
       AND user_id = :user_id
  ');

  $qry->execute([
    ':start_date' => '2012-01-01',
    ':end_date'   => '2012-12-31',
    ':user_id'    => 3
  ]);

  list ($totalMins, $remngSecs) = gmp_div_qr($qry->fetchColumn(), 60);
  list ($totalHour, $remngMins) = gmp_div_qr($totalMins, 60);

  echo "Worked a total of $totalHour:$remngMins:$remngSecs.";
?>


  1. Ge en msdb-användaråtkomst till en databaspostprofil i SQL Server (T-SQL)

  2. Vad är PostgreSQL?

  3. MySQL visa status - aktiva eller totala anslutningar?

  4. ersätta hakparenteser av en sträng med oracle REGEXP_REPLACE funktion