|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.09.2012, 15:11 | #1 |
Пользователь
Регистрация: 24.09.2012
Сообщений: 10
|
Дата и Время(Промежутки времени)SQL Server
Имеется датчик который выходит в сеть и подает сигналы...0-это датчик не работает...1-работает
нам надо время(или промежуток времени когда(валуе 1.1.1) он работал т.е. когда значение 1 т.е полный отчет времени когда работал(час.мин.сек))lдолжно работать автоматически и универсально.ВЫЧИТАТЬ ВРЕМЯ РАБОТЫ например 17.30-14.30=3 часа работал 29.06.2012 и т.д..как реализовать?спс большое заранее очень надо!!!! id time value 1 29.06.2012 12:30 1 2 29.06.2012 12:30 0 3 29.06.2012 13:30 0 4 29.06.2012 14:30 1 5 29.06.2012 17:30 1 6 29.06.2012 19:30 1 Последний раз редактировалось ИгорьСупер; 24.09.2012 в 16:10. |
24.09.2012, 19:30 | #2 |
Пользователь
Регистрация: 24.09.2012
Сообщений: 10
|
нужно создать переменую diff - для хранения времени вкл
проходим в цикле по строкам если след-я строка value =1(или 0), а в текущей value =0(или 1) то получаем diff = diff + date(след строка) - date(тек строка) вот примерный алгоритм - винду недавно переставил, а студию еще не воткнул |
24.09.2012, 19:34 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Можно либо рекурсивным запросом сделать такое, либо написать Multiline table return функцию, где fetch-ем делать как ты сказал.
I'm learning to live...
|
24.09.2012, 19:48 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 24.09.2012 в 19:57. |
25.09.2012, 10:55 | #5 |
Пользователь
Регистрация: 24.09.2012
Сообщений: 10
|
СМОТРИ НАДО ВЫЧИСЛИТЬ РАБОТУ ДВИГАТЕЛЯ..1 РАБОТАЕТ 0 НЕ РАБОТАЕТ
12.30 ПРИШЕЛ СИГНАЛ ВЛК Т.Е.1 В 12 31 ПРИШЕЛ СИГНАЛ ВЫКЛ Т.Е. 0 12.31-1230= 0001 МИН ВОТ КАК ТО ТАК КУРСОВ+ВАИЛ ГОВОРЯТ ПРОСТО Я УЖЕ УСТАЛ ТУПИТЬ ПОМОГИТЕ ДЕЛОМ НЕ СМЕЙТЕСЬ РЕАЛЬНО НАЧИНАЮЩИЙ |
25.09.2012, 10:57 | #6 |
Пользователь
Регистрация: 24.09.2012
Сообщений: 10
|
12.31-1230= 0001 МИН т.е надо время работы т.е 1 мин
|
25.09.2012, 12:45 | #7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Код:
Код:
часть первая Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 25.09.2012 в 13:17. |
26.09.2012, 10:17 | #8 |
Пользователь
Регистрация: 24.09.2012
Сообщений: 10
|
курсор
есть блок схема
таблица результат (неверный) во первых где первая единица так как в таблице идет 1 0 1 1 1 время указал в юникс-время т.е. секунды ниже код курсора что то неправильно цикл немогу додумать помогите результат на рис.-30 хотя надо получить время работы примерная работа алгоритма представлена в блок схеме..надеюсь на ваши умные знания спс заранее use [iliar_test] go DECLARE @Result int DECLARE @Start int DECLARE @Stop int DECLARE @time int DECLARE @value int DECLARE @dvig int DECLARE @id int SET @time = '' SET @dvig = 0 DECLARE cursor_checkArea CURSOR FOR SELECT * FROM ilik_DB1 OPEN cursor_checkArea FETCH NEXT FROM cursor_checkArea INTO @id,@time,@value WHILE @@FETCH_STATUS = 0 BEGIN IF @value = 1 and @dvig=0 SET @Start = @time ELSE SET @Stop = @time SET @Result = @Stop-@Start FETCH NEXT FROM cursor_checkArea INTO @id,@time,@value END CLOSE cursor_checkArea DEALLOCATE cursor_checkArea select @Start,@Stop,@Result |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема с выводом звука определенной частоты в короткие промежутки времени. | JekaDefer | Общие вопросы Delphi | 31 | 28.08.2012 08:04 |
Время и дата | adja051 | Помощь студентам | 2 | 09.10.2010 12:15 |
увеличение времени ожидания ответа от SQL Server | furstenberg | БД в Delphi | 12 | 29.07.2009 15:41 |
Доступ к БД (SQL server) в ОС Windows server 2003 | Mann | SQL, базы данных | 2 | 07.12.2008 19:15 |
Промежутки времени | SatiriK(rus) | SQL, базы данных | 4 | 19.11.2008 00:37 |