Язык запросов SQL

Запрос из таблицы 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *