Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Разница между полями таблицы в формате datetime
 
 автор: maxfade   (28.10.2008 в 17:08)   письмо автору
 
 

Подскажите как лучше вычислить разницу между значениями таблицы в формате datetime.

Пришел к такому варианту, но думаю он не совсем верный:


TIMESTAMPDIFF(MINUTE,`control_table`.`audit_end`,`control_table`.`date_audit`)/60 AS `period_audit`,

  Ответить  
 
 автор: maxfade   (28.10.2008 в 17:25)   письмо автору
 
   для: maxfade   (28.10.2008 в 17:08)
 

В итоге пришел вот к чему:


TIMEDIFF(`control_table`.`audit_end`,`control_table`.`date_audit`) AS `period_audit`,


Формат вывода: 00:15:19

Как преобразовать к - деней, часов, минут, секунд ?

  Ответить  
 
 автор: maxfade   (30.10.2008 в 15:55)   письмо автору
 
   для: maxfade   (28.10.2008 в 17:25)
 

неужели никто не знает :)

  Ответить  
 
 автор: Trianon   (30.10.2008 в 16:01)   письмо автору
 
   для: maxfade   (30.10.2008 в 15:55)
 

неясно, зачем это делать средствами SQL (а не на уровне приложения)

  Ответить  
 
 автор: maxfade   (30.10.2008 в 16:23)   письмо автору
 
   для: Trianon   (30.10.2008 в 16:01)
 

Пакажите пример, пожалуйста, как это сделать на уровне приложения.

  Ответить  
 
 автор: Trianon   (30.10.2008 в 16:38)   письмо автору
 
   для: maxfade   (30.10.2008 в 16:23)
 

<? 
$sql 
"SELECT (UNIX_TIMESTAMP(`control_table`.`audit_end`) - UNIX_TIMESTAMP(`control_table`.`date_audit`)) AS diff FROM  `control_table`";
$res mysql_query($sql);
$row mysql_fetch_assoc($res);
$diff intval($row['diff']);

$units  = array(86400 => ' суток '3600 => ' часов '60 => ' минут '=> ' секунд');
$s '';
foreach(
$units as $lim =>$unit)
{
    if(
$diff $lim
        continue;
    
$r $diff $lim;
    
$q = ($diff-$r)/$lim;
    
$s .= $q $unit;
    
$diff $r;
}
echo 
$s;

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования