Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.30;
Скачать: CL | DM;

Вниз

Кто работал с данными типа 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
1-97247
Igg
2002-05-21 00:35
2002.05.30
Как в StringGridе текст в верхнем столбце писать вертикально


3-97187
DmitryM
2002-05-07 12:18
2002.05.30
Выгрузка данных из Blob-поля


3-97173
Oleg_er
2002-05-06 06:46
2002.05.30
Из-за чего индексы рушаться?


1-97335
Tahion
2002-05-18 19:18
2002.05.30
Как отобразать на форме иконки, из формата *.icl


1-97291
Коля
2002-05-18 22:32
2002.05.30
Как задать имя компонетна в цикле?