Если тип телепараметра одназначно определен для данной колонки данной таблицы, то в условиях запроса можно задавать значение в сокращенном виде, например:
select * from oik_cur_tt where tma_str = '0:1:1'
ch
smallint
Канал
rtu
smallint
КП
point
smallint
Объект
class_id
smallint
Класс телепараметра
group_id
smallint
Группа телепараметра
flags
int
Информация о флагах параметра. #define UNRELIABLE_HDW 0x0001 // Недостоверность аппаратная
#define UNRELIABLE_MANU 0x0002 // Недостоверность от пользователя
#define LEVEL_A 0x0010 // Сработала уставка первого уровня
#define LEVEL_B 0x0020 // ------- " ------- второго уровня
#define LEVEL_C 0x0040 // ------- " ------- третьего уровня
#define LEVEL_D 0x0080 // ------- " ------- четвертого уровня
#define INVERTED 0x0100 // ТС инвертируется при занесен
#define RESCHANNEL 0x0200 // Данные взяты с резервного канала
#define TMCTRL_PRESENT 0x0400 // Есть команда - volatile [ТС]
#define HAS_ALARM 0x0400 // Есть уставки - volatile [ТИТ]
#define STATUS_CLASS_APS 0x0800 // АПС [ТС]
#define TMSTREAMING 0x1000 // Передавать со временем
#define F_ABNORMAL 0x2000 // Отлично от нормального
#define F_UNACKED 0x4000 // ТС несквитирован
#define F_IV 0x8000 // 101 IV
Пример:
select LPAD(to_hex(flags),8,'0'), * from oik_cur_tt where (flags & x'3'::int) <> 0;
select LPAD(to_hex(flags),8,'0'), * from oik_cur_tt where (flags & x'0400'::int) <> 0;
v_val
real
Значение параметра
v_unit
char(10)
Информация о единице измерения параметра;
v_format
text
Информация о формате параметра;
v_mult
real
Информация о применяемом множителе параметра;
v_shift
real
ИНформация о применяемом сдвиге.
Обязательные условия в запросе:
- адрес параметра (любой из вариантов: tma_str, tma, {ch, rtu, point})
- диапазон времени для update_time
- шаг агрегирования (по умолчанию принимается равным 1 секунде)
Если в запросе задается шаг агрегирования = 1 секунда, то в ответе возвращаются все (!) оригинальные значения в заданном диапазоне времени + все агрегированные данные с шагом агрегации = 1 секунда.
Если в запросе задается шаг агрегирования > 1 секунда, то в ответе, помимо агрегированных значений, возвращаются строки с el_type = 0 – это последние оригинальные значения на каждом шаге агрегирования.
Примеры запросов:
SELECT * FROM oik_aan WHERE tma_str='0:1:1' AND step = 60
AND update_time > '2017-04-26 12:00:00'::timestamp
AND update_time < '2017-05-1 12:00:00'::timestamp;