Запрос из таблицы HISTVAL, используя поставщика данных OLE DB, основан на языке SQL запросов:
- Запросы только для чтения (SELECT)
- Простой синтаксис SQL (нет соединений, подзапросов и перекрестных запросов или союзов)
- Допускаются запросы, составленные только на «нейтральном языке»
- Знаки подстановки разрешены, даже в именах ТД (также иерархические)
- Расширение запросов времени до миллисекунд
- Допускаются групповые алармы, сочетающие несколько одиночных алармов при обработке алармов (таблица ALERTS).
Поддерживаемые команды SQL
Команда | Значение |
SELECT FROM WHERE | Выбор столбцов из таблиц в соответствии с конкретными условиямиПримечание: В запросах SELECT допускаются только * или двоеточия, без выражений. |
AS | Для указания заголовка столбца |
AND | Соединение условий посредством AND (и) |
OR | Соединение условий посредством OR (или) |
NOT | Отрицание условий |
( ) | Взятие условий в скобки |
IN | Выбор из списка |
BETWEEN (AND) | Все между 2 значениями |
LIKE | Сравнение с использованием знаков подстановки |
NOT LIKE | Отрицание сравнения с использованием знаков подстановки. |
GROUP BY | Группирование связанных строк |
SUM | Сумма всех строк, которые были выбраны с помощью GROUP BY |
Мин. | Минимум из всех строк, которые были выбраны с помощью GROUP BY |
Макс. | Максимум из всех строк, которые были выбраны с помощью GROUP BY |
COUNT | Количество строк, которые были выбраны с помощью GROUP BY |
AVG | Среднее из всех строк, которые были выбраны с помощью GROUP BY |
ORDER BY (DESC) | Сортировка строк результата (по убыванию) |
Поддерживаемые операторы
Оператор | Значение |
= | Равно |
< | Меньше, чем |
> | Больше, чем |
<> | Не равно |
<= | Меньше или равно |
>= | Больше или равно |
+ | Прибавление |
— | Вычитание |
* | Умножение |
/ | Деление |
|| | Объединение строк |
IS NULL | Запрос того, является ли содержание столбцов неопределенным |
? : | Оператор знака вопроса (допускается только с выбором столбца) |
Функции SQL
Функция | Значение |
STR(x) | Преобразует x в строку |
INT(X) | Преобразует x в целое число |
FLOAT(X) | Преобразует x в число с плавающей запятой |
STR2DATETIME(s,f) | Преобразует s (строку) в DBTYPE_DATE, где f указывает формат данных |
DATETIME2STR(d,f) | Преобразует d (DBTYPE_DATE) в (строку), где f указывает требуемый формат данных |
Советы и рекомендации
Ознакомьтесь с разделом SQL справочной системы.
- Указание формата в двух функциях даты является обязательным. Форматом по умолчанию является: «yyyy.mm.dd hh:mm:hh.mmm», например, «2001.04.22 12:11:31.000».
- Параметры, приведенные в функции strftime() стандарта ANSI для C могут использоваться в строке формата:ФункцияЗначение%aСокращенное имя дня недели%AПолное имя дня недели%bСокращенное имя месяца%BПолное имя месяца%cМестный способ представления даты и времени%dДень месяца (01 -31)%HЧас (00 -23)%IЧас (00 -12)%jДень в году (001 -366)%mМесяц (01 — 12)%MМинута (00 -59)%pМестный аналог AM (утро) или PM (дневное время)%SСекунда (00 -59)%UНеделя в году (воскресенье — первый день недели) (00 — 53)%wДень недели (0-6, Воскресенье = 0)%WНеделя в году (понедельник — первый день недели) (00 — 53)%xМестный способ представления даты%XМестный способ представления времени%yГод без указания столетия (00-99)%YГод с указанием столетия%ZНазвание временной зоны%%%
- Строки могут быть заключены в одинарные (‘) или двойные кавычки («) в качестве ограничителей. Размещение обратной косой черты перед специальным символом (то есть, разделитель строки или знак подстановки) отменяет его значение. Две обратных косых черты обозначают саму обратную косую черту в качестве символа.
- При указании знаков подстановки в запросе может использоваться как синтаксис SQL («%» означает любые символы, «_» означает любой одиночный символ), так и синтаксис «КАСКАД Цифра» («*» означает любые символы, «?» означает любой одиночный символ) (см. также конфигурационный параметр usePvssWildCards в разделе Записи в конфигурационном файле). Синтаксис «КАСКАД Цифра» используется по умолчанию, что является более практичным, потому что символ «_» часто используется в именах точек данных, а в синтаксисе SQL в каждом случае потребуется ведущий символ «/».
- Если в условии появляется время источника, значение оператора равенства изменяется только в этом случае. Она возвращает значения, которые были действительны на это время. Однако они не должны быть созданы в это время, и, следовательно, могут иметь более раннее время источника в базе данных.
ПРИМЕР
SELECT ORIGINALVALUE, STIME FROM HISTVAL WHERE STIME = «2001.05.01 10:30:00.000»
Это может возвращать «2001.05.01 10:25:55:910» если последняя запись была сделана перед 10:30. Это исключение применяется только ко времени источника в операторе WHERE.
Неподдерживаемые ключевые слова SQL
CREATE (DLL)
CREATE (DML)
CLOSE DATABASE
COMMIT
CONNECT
CONNECT BY PRIOR
CRINSTAB
DELETE FROM
DISTINCT
DROP
EXISTS
GRANT
HAVING
INNER JOIN
INSERT
INTERSECT
INTO TEMP
LEFT JOIN
RENAME
RESOURCE
REVOKE
RIGHT JOIN
SET AUTOCOMMIT
START WITH
UNION
UPDATE SET