|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.09.2016, 16:28 | #1 |
Регистрация: 01.06.2015
Сообщений: 6
|
SQL изменить тип данных при запросе
Здрасьте! У меня такой вопрос - я делаю выборку данных из базы типа time. Эти данные нужно суммировать и вывести на странице через php. То есть я делаю запрос в секундах, суммирую, а потом простым делением перевожу в часы, минуты и сек.
sec_to_time значение больше 838:59:59 не выводит. Как сумма получается 716800:41:-16. В базе есть ещё один столбец со временем, там оно значительно меньше, так вот там таких проблем нет - все считается верно. Я так понимаю, с таким количеством часов мой метод не прокатывает. Перевожу так PHP код:
PHP код:
|
22.09.2016, 16:41 | #2 |
Участник клуба
Регистрация: 21.10.2015
Сообщений: 1,361
|
а зачем все эти переводы?
|
23.09.2016, 08:46 | #3 |
Регистрация: 01.06.2015
Сообщений: 6
|
ну, а как иначе?
|
23.09.2016, 09:46 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
|
23.09.2016, 10:08 | #5 |
Регистрация: 01.06.2015
Сообщений: 6
|
time - это и есть тип поля. Само поле так же, наверное, тут обозвала, ибо название оооочень длинное. Перевожу в секунды, т.к. формат _:_:_ складывается весьма криво, а мне бы хотелось поточнее.
|
23.09.2016, 11:29 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
"косячит" PHP
попробуйте такой код: Код:
Последний раз редактировалось Serge_Bliznykov; 23.09.2016 в 11:45. |
23.09.2016, 15:09 | #7 |
Регистрация: 01.06.2015
Сообщений: 6
|
Хм, минусы пропали - уже хорошо. Но на вскидку сейчас сумма 719701:16:24, это общее время по отделам, но если выводить хотя бы примерно время по одному какому-нибудь, то уже получается 1000000 ч. Но это скорее мой косяк - надо копнуть. Спасибо тебе огромное!
|
23.09.2016, 15:48 | #8 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
не за что, обращайтесь.
Цитата:
а если не секрет, для чего это всё? ну вот, допустим, получили Вы 719701 часов. И что с этим делать? Разделить на количество сотрудников и получить среднее число часов по каждому? Или разделить на 8 часов и получить общее усреднённое число дней? Какова конечная цель? Просто статистика? Отчёт какой-то безумный собираете? |
|
23.09.2016, 16:48 | #9 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,150
|
а как же родные средства MySQL всякие DATE_FORMAT, TIME_FORMAT ?
|
23.09.2016, 17:06 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Там же ограничение у sec_to_time - все что выше усекается до 838:59:59
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
InterBase.SQL.Ошибка при запросе к бд. | athleet | БД в Delphi | 3 | 09.04.2012 19:58 |
с++ ошибка при SQL запросе | lblondy | Помощь студентам | 0 | 07.03.2012 19:20 |
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? | An_ton | SQL, базы данных | 5 | 16.01.2009 17:55 |
Ошибка при запросе SQL в IB | Алекс1 | БД в Delphi | 2 | 24.06.2007 22:37 |