Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
ВнизКто работал с данными типа Time - подскажите Найти похожие ветки
← →
kserg@ukr.net (2002-05-07 17:36) [0]Вот возникла необходимость сделать небольшую базу, осн.задачей котр. подсчет сколько юзер потратил времени(в часах:минутах) на решение конкрет.задач.
Никогда не сталкивался с подобным, поэтому вопрос - как лучше подойти к такому типу данных, чтобы удобнее было высчитывать суммарное время.
← →
asafr (2002-05-07 18:00) [1]Не буду конкретно объяснять... Но в MSSQL есть функции DATEADD, DATEDIFF, DATENAME, DATEPART - поиграйся с ними....
← →
DPetrovich (2002-05-07 18:15) [2]Если я правильно понял задачу, то да начала и дату завершения работы хранить в datetime, а разницу между ними вычислять (и возможно хранить) в минутах примерно по такой формуле
datediff(mi,"01.01.1900",datetime1-datetime2)
← →
kserg@ukr.net (2002-05-07 18:28) [3]Извините, только сейчас понял, что не задал исходные данные.
Входные данные след.:
юзер Иванов
задача проектирование оснастки
дата работы 07/05/02
кол-во потрачен.времени 5:45
т.е. на мой взгляд лучше хранить время как Numeric(5,2),
но тогда возникают как без потерь конвертировать десятичные минуты в целые часы.
← →
asafr (2002-05-07 18:44) [4]А может тебе в таблицу еще добавить поле. Н-р:
юзер Иванов
Начало работы (Time_Start) 07/05/02 10:00:00
окончание работы (Time_end) 07/05/02 18:05:00
Кол-во потраченного времени Time_end-Time_Start
← →
DPetrovich (2002-05-07 18:45) [5]>но тогда возникают как без потерь конвертировать десятичные >минуты в целые часы.
например...
← →
DPetrovich (2002-05-07 18:46) [6]>но тогда возникают как без потерь конвертировать десятичные >минуты в целые часы.
например, какие могут быть потери?
← →
kserg@ukr.net (2002-05-08 10:03) [7]>например, какие могут быть потери?
имею ввиду как при суммировании времени переводить дробную часть из сотых в шестидисятиричные минуты
т.е. целую часть надо считать отдельно, дробную отдельно
иначе будем терять минуты
← →
Johnmen (2002-05-08 11:20) [8]На то и придуман формат DateTime , чтобы его можно было просто суммировать/вычитать и получать верный результат...
← →
kserg@ukr.net (2002-05-08 11:45) [9]Я полностью согласен насчет DateTime.
Но вот беда: подлый юзер не хочет фиксировать "когда начал - когда закончил", он в базу хочет вносить сразу кол-во времени потраченного на задачу...
← →
Johnmen (2002-05-08 12:01) [10]Ну так и пусть записывает :
в своей проге преобразуй то, что юзверь ввел к DateTime и прописывай в табл....
← →
kserg@ukr.net (2002-05-08 15:57) [11]Да, получить из двух дат интервал времени в минутах можно через
datediff(mi, dat1, dat2).
А как затем эти минуты разложить в удобоваримый формат типа ЧАСЫ:МИНУТЫ (имею ввиду прямо в SELECTe) ?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c