Применяется в случае, если к терминалу был ошибочно подключен датчик, без указания инверсии.
Производит инверсию срабатывания указанного номера датчика, для указанного ID ТС, за указанный период.
скрипт производит инверсию значения цифрового датчика за указанный период, по указанному ID машины
Код
set dateformat ymd
declare @sen_num int, @Object_id int
declare @starttime datetime, @stoptime datetime
select @Object_id= (select ObjectID from bn.dbo.FLEET_Object where ObjectGarNum like '%996%' -- цифры госномера
and ObjectActive=1)
select @sen_num=3 -- номер датчика
,@starttime='2011-02-23 13:36:11.000',@stoptime='2013-03-12 13:02:00.000'
update bn.dbo.SYS_DEV_ArchiveData
set digit_sens_num=case when digit_sens_num&power(2,@sen_num-1)>0 then digit_sens_num^power(2,@sen_num-1) else digit_sens_num|power(2,@sen_num-1) end
where [Objectid]=@Object_id and tele_time between @starttime and @stoptime
После выполнения скрипта, везде где было срабатывание данного датчика он будет выключен, а где не было - он появится.