powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сложение времени
25 сообщений из 31, страница 1 из 2
Сложение времени
    #38465436
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите чего не хватает в данной конструкции?

Код: sql
1.
2.
3.
4.
SELECT CAuthor, SUM(CDuration)
FROM Clips, Repeats
WHERE ClipID = RClip AND RDate = '12.11.2013'
GROUP BY CAuthor;


Выдает: Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
data type not supported for arithmetic.

CDuration - тип Time
...
Рейтинг: 0 / 0
Сложение времени
    #38465441
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Занудов!
You wrote on 14 ноября 2013 г. 17:38:57:

Занудов> Подскажите чего не хватает в данной конструкции?
переведи время в дельту (интервал).
время складывать нельзя.
интервал можно.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465492
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МимопроходящийHello, Занудов!
You wrote on 14 ноября 2013 г. 17:38:57:

Занудов> Подскажите чего не хватает в данной конструкции?
переведи время в дельту (интервал).
время складывать нельзя.
интервал можно.


А каким макаром это сделать? Есть какие нибудь функции?
...
Рейтинг: 0 / 0
Сложение времени
    #38465506
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Занудов!
You wrote on 14 ноября 2013 г. 18:14:46:

Занудов> А каким макаром это сделать?
SUM(CDuration - TIME '0:0')

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465608
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МимопроходящийHello, Занудов!
You wrote on 14 ноября 2013 г. 18:14:46:

Занудов> А каким макаром это сделать?
SUM(CDuration - TIME '0:0')


А как назад во время перевести, а то выдает числа(
...
Рейтинг: 0 / 0
Сложение времени
    #38465610
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МимопроходящийHello, Занудов!
You wrote on 14 ноября 2013 г. 18:14:46:

Занудов> А каким макаром это сделать?
SUM(CDuration - TIME '0:0')


CAST (SUM(CDuration - TIME '0:0') AS TIME) не катит.
...
Рейтинг: 0 / 0
Сложение времени
    #38465630
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Занудов!
You wrote on 14 ноября 2013 г. 19:59:12:

Занудов> А как назад во время перевести, а то выдает
числа( это не время.
это интервал.
500 часов и 43 минуты - это НЕ время.

интервал у тебя выдаётся в секундах.
пересчитать в часы и минуты нетрудно.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465632
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Занудов,

А я бы вообще тупо перевел время в секунды.

Код: sql
1.
2.
select (extract(hour from atime)*3600+extract(minute from atime)*60+extract(second from atime)) as INTERVALINSEC 
            from .....



Тогда обратный перевод полученных значений тоже прозрачен.
...
Рейтинг: 0 / 0
Сложение времени
    #38465634
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

А, ну да, ступил ;)
...
Рейтинг: 0 / 0
Сложение времени
    #38465829
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да... из времени в строку, из строки во время, потом посчитать часы, минуты, секунды, обратно в строку, подставить ':'...чет какой то гемор(
...
Рейтинг: 0 / 0
Сложение времени
    #38465832
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что думать надо до, а не в процессе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465833
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovПотому что думать надо до, а не в процессе.

ну это понятно, а что тут можно придумать "до" и казалось бы чего сложного, два значения времени
...
Рейтинг: 0 / 0
Сложение времени
    #38465836
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если подумать "до", то можно додуматься, что тип TIME это "время дня", но ни в коем случае
не "интервал" и только полный кретин будет использовать этот тип для хранения интервалов.
Именно поэтому нет операции сложения для типа TIME.

Если ещё немного подумать, то можно придумать хранить "интервал" в поле типа INTEGER,
которое суммируется совершенно без проблем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465837
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЕсли подумать "до", то можно додуматься, что тип TIME это "время дня", но ни в коем случае
не "интервал" и только полный кретин будет использовать этот тип для хранения интервалов.
Именно поэтому нет операции сложения для типа TIME.

Если ещё немного подумать, то можно придумать хранить "интервал" в поле типа INTEGER,
которое суммируется совершенно без проблем.

А если подумать что этот интежер надо еще постоянно просматривать, и чтоб он выглядел в формате времени...
...
Рейтинг: 0 / 0
Сложение времени
    #38465841
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗанудовА если подумать что этот интежер надо еще постоянно просматривать, и чтоб он
выглядел в формате времени...
....то главное - не забывать, что сервер БД "просматриванием" не занимается. Это задача
клиентского приложения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465842
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
и в итоге нужно будет все равно вычислять каждую строку через одно место для удобочитаемости
...
Рейтинг: 0 / 0
Сложение времени
    #38465844
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Занудови в итоге нужно будет все равно вычислять каждую строку через одно место для
удобочитаемости
Это не проблема сервера, а исключительно вопрос кривизны рук программиста. Тебе придётся
одного нанять...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465845
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЗанудовА если подумать что этот интежер надо еще постоянно просматривать, и чтоб он
выглядел в формате времени...
....то главное - не забывать, что сервер БД "просматриванием" не занимается. Это задача
клиентского приложения.

ну это верно. просто привычка от Delphi что храним, то и видим.
...
Рейтинг: 0 / 0
Сложение времени
    #38465849
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Занудовпривычка от Delphi что храним, то и видим.
Не от Дельфи эта привычка, совсем не от Дельфи...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465853
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЗанудовпривычка от Delphi что храним, то и видим.
Не от Дельфи эта привычка, совсем не от Дельфи...

Загадошно...Подсказал бы лучше что нибудь...(
...
Рейтинг: 0 / 0
Сложение времени
    #38465856
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗанудовПодсказал бы лучше что нибудь...(
Какое слово из "использовать INTEGER" тебе непонятно? Или тебя вгоняет в ступор
отображение в виде "3600 секунд"?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Сложение времени
    #38465858
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЗанудовПодсказал бы лучше что нибудь...(
Какое слово из "использовать INTEGER" тебе непонятно? Или тебя вгоняет в ступор
отображение в виде "3600 секунд"?..

нет, не понятно пока как это реализовать на клиенте. чтоб в гриде у меня это превратилось во время.
...
Рейтинг: 0 / 0
Сложение времени
    #38465861
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЗанудовПодсказал бы лучше что нибудь...(
Какое слово из "использовать INTEGER" тебе непонятно? Или тебя вгоняет в ступор
отображение в виде "3600 секунд"?..

всмысле как посчитать понятно. а где посчитать не понятно... не писать же это в OnGetText
...
Рейтинг: 0 / 0
Сложение времени
    #38465866
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. получить интервал как разность двух времён - расжевали, а как интервал и время сложить, чтобы другое время получить - это надо ещё и в рот положить...
...
Рейтинг: 0 / 0
Сложение времени
    #38465868
Занудов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladТ.е. получить интервал как разность двух времён - расжевали, а как интервал и время сложить, чтобы другое время получить - это надо ещё и в рот положить...
Большое спасибо, теперь дошло:
Код: sql
1.
2.
3.
4.
SELECT CAuthor, Sum (CDuration - TIME '00:00:00') + Time '00:00:00'
FROM Clips, Repeats
WHERE ClipID = RClip AND RDate = '12.03.2013'
GROUP BY CAuthor;
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Сложение времени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]