forum.bitel.ru http://forum.bitel.ru/ |
|
вопрос про функцию sec_to_time в мускуле 5.х http://forum.bitel.ru/viewtopic.php?f=1&t=5206 |
Страница 1 из 1 |
Автор: | sda0 [ 02 мар 2011, 03:34 ] |
Заголовок сообщения: | вопрос про функцию sec_to_time в мускуле 5.х |
понадобилось мне написать некий код под веб для сбора и отображения статистики, и столкнулся с траблой. Код: mysql> select sec_to_time(sum(session_time)) from log_session_3_201102; +--------------------------------+ | sec_to_time(sum(session_time)) | +--------------------------------+ | 838:59:59 | +--------------------------------+ 1 row in set, 1 warning (0.00 sec) mysql> show warnings; +---------+------+-------------------------------------------+ | Level | Code | Message | +---------+------+-------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '6519214' | +---------+------+-------------------------------------------+ 1 row in set (0.00 sec) пробуем на 4.1.22 версии: Код: mysql> select sec_to_time(sum(6519214)); +---------------------------+ | sec_to_time(sum(6519214)) | +---------------------------+ | 1810:53:34 | +---------------------------+ 1 row in set (0.00 sec) смотрим объяснение по мускулю начиная с 5й версии: Код: Величины, лежащие вне разрешенного интервала TIME, но во всем остальном представляющие собой допустимые значения, усекаются до соответствующей граничной точки данного интервала. Например, величины '-850:00:00' и '850:00:00' преобразуются соответственно в '-838:59:59' и '838:59:59'. ну и собственно вопрос - как обойти это дурацкое ограничение? или как можно сделать одним запросом, что бы была замена функции sec_to_time? з.ы. читал форумы разные, в том числе по мускулю, народ недоволен, пишет девелоперам об этом "баге", а те игнорят. ![]() |
Автор: | skn [ 02 мар 2011, 16:53 ] |
Заголовок сообщения: | Re: вопрос про функцию sec_to_time в мускуле 5.х |
может так: Код: select @a:=6519214, concat(floor(@a / 3600),":",floor((@a mod 3600)/60),":",@a mod 60)
|
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |