Выражения
Выражения SQL представляют формальные методы для вычисления, преобразования и сравнения значений.Выражения SQL могут включать в себя столбцы таблиц, переменные, константы, литералы, различные операторы и предикаты, а так же другие выражения.Полный список допустимых символов (tokens) в выражениях описан ниже.
- Имя столбца
-
Идентификаторы столбцов из указанных таблиц, используемые ввычислениях, или сравнениях, или в качестве условия поиска. Столбецтипа массив не может быть элементом выражения, если только он непроверяется на
IS [NOT] NULL. - Элементы массива
-
В выражении может содержаться ссылка на элемент массива, т.е.
<array_name>[s], где s — индекс элемента в массиве. - Арифметические операторы
-
Символы
+,-,*,/используемые для вычисления значений. - Оператор конкатенации
-
Оператор
||(“две вертикальные линии”) используется для соединения символьных строк. - Логические операторы
-
Зарезервированные слова
NOT,ANDиORиспользуются прикомбинировании простых условий поиска для создания сложныхутверждений. - Операторы сравнения
-
Символы
=,<>,!=,~=,^=,<,<=,>,>=,!<,~<,^<,!>,~>и^> - Предикаты сравнения
-
LIKE,STARTING WITH,CONTAINING,SIMILAR TO,BETWEEN,IS [NOT]NULL,IS [NOT] {TRUE | FALSE | UNKNOWN}, иIS [NOT] DISTINCT FROM - Предикаты существования
-
Предикаты, используемые для проверки существования значений внаборе. Предикат IN может быть использован как с наборами констант,так и со скалярными подзапросами. Предикаты EXISTS, SINGULAR, ALLANY, SOME могут быть использованы только с подзапросами.
- Константы и литералы
-
Числа, заключённые в апострофы строковые литералы, логическиезначения
TRUE,FALSEиUNKNOWN, псевдозначениеNULL. - Литералы дат и времени
-
Выражения, подобные строковым литералам, заключённые вапострофах, которые могут быть интерпретированы как значения даты,времени или даты-времени. Литералами дат могут быть строки изсимволов и чисел, такие как
TIMESTAMP '25.12.201615:30:35', которые могут быть преобразованы в дату, времяили дату с временем. - Мнемоники дат и времени
-
Строковый литерал с описанием желаемого значения даты и/иливремени, которое можно привести к типу даты и/или времени. Дляпримера
'NOW','TODAY'. - Контекстные переменные
-
Встроенные контекстные переменные.
- Локальные переменные
-
Локальные переменные, входные или выходные параметры PSQL модулей(хранимых процедур, триггеров, анонимных блоков PSQL).
- Позиционные параметры
-
В DSQL в качестве параметров запроса могут быть использованытолько позиционные параметры. Позиционные параметры представляютсобой знаки вопроса (?) внутри DSQL оператора. Доступ к такимпараметрам осуществляется по его номеру (позиции в запросеотносительно предыдущего позиционного параметра) поэтому ониназываются позиционными. Обычно компоненты доступа позволяютработать с именованными параметрами, которые они самипреобразовывают в позиционные.
- Подзапросы
-
Оператор SELECT заключённый в круглые скобки, который возвращаетодно единственное (скалярное) значение или множество значений (прииспользовании в предикатах существования).
- Идентификаторы функций
-
Идентификаторы встроенных или внешних функций в функциональныхвыражениях.
- Приведения типа
-
Выражение явного преобразования одного типа данных в другой с использованием
CASTкакCAST(<value> AS <datatype>). - Условные выражения
-
Выражение
CASEи встроенные функцииCOALESCE,NULLIF. - Круглые скобки
-
Пара скобок ( … ) используются для группировки выражений.Операции внутри скобок выполняются перед операциями вне скобок. Прииспользовании вложенных скобок, сначала вычисляются значения самыхвнутренних выражений, а затем вычисления перемещаются наверх поуровням вложенности.
- Предложение
COLLATE -
Предложение применяется к типам
CHARиVARCHAR, чтобы в указаннойкодировке установить параметры сортировки, используемые присравнении. NEXT VALUE FOR sequence-
Конструкция
NEXT VALUE FORпозволяет получить следующее значениепоследовательности, то же самое делает встроенная функцияGEN_ID(). - Выражение
AT -
Выражение для изменения часового пояса даты и времени.