OpenXS
|
Проект Informix
|
Содержание
|
БНФ???
|
Вниз
Выражения
Столбцы
Условные выражения
Константы
Встроенные функции
Выражения агрегирования
Вызовы процедур
<
выражение
> ::=
[
<
знак
>
] <
элемент выражения
>
{
<
оператор
>
[
<
знак
>
]<
элемент выражения
>}
<
элемент выражения
> ::=
<
столбец
>
|
<
условное выражение
>
|
<
константа
>
|
<
встроенная функция
>
|
<
выражение агрегирования
>
|
<
вызов процедуры
>
|
<
имя переменной
>
|
<
имя переменной процедуры
>
|
(
<
выражение
>
)
<
оператор
> ::=
+
|
-
|
*
|
/
|
||
<
имя переменной процедуры
> ::=
<
идентификатор
>
Столбцы
<
столбец
> ::=
[
<
уточнение имени столбца
>
.
]
<
имя столбца>
[
[
<
первый
>
,
<
последний
>
]
]
| [
<
уточнение имени столбца
>
.
]
ROWID
<
уточнение имени столбца
> ::=
<
имя объекта
>
<
имя объекта
> ::=
<
имя таблицы
>
|
<
имя представления
>
|
<
имя синонима
>
|
<
псевдоним
>
<
первый
> ::=
<
числовой литерал
>
<
последний
> ::=
<
числовой литерал
>
<
псевдоним
> ::=
<
идентификатор
>
Условные выражения
<
условное выражение
> ::=
<
выражение CASE
>
|
<
функция NVL
>
|
<
функция DECODE
>
<
выражение CASE
> ::=
<
общее выражение CASE
>
|
<
линейное выражение CASE
>
<
общее выражение CASE
> ::=
CASE
<
вариант
>
{
<
вариант
>
} [
<
вариант по умолчанию
>
]
END
<
вариант
> ::=
WHEN
<
условие
>
THEN
<
выражение или NULL
>
<
выражение или NULL
> ::=
<
выражение
>
|
NULL
<
вариант по умолчанию
> ::=
ELSE
<
выражение или NULL
>
<
линейное выражение CASE
> ::=
CASE
<
выражение
>
<
простой вариант
>
{
<
простой вариант
>
} [
<
вариант по умолчанию
>
]
END
<
простой вариант
> ::=
WHEN
<
выражение
>
THEN
<
выражение или NULL
>
<
функция NVL
> ::=
NVL
(
<
выражение
>
,
<
выражение
>
)
<
функция DECODE
> ::=
DECODE
(
<
выражение
>
<
если-то-выражение
>
{
,
<
если-то-выражение
>
} [
,
<
иначе-выражение
>
]
)
<
если-то-выражение
> ::=
<
выражение
>
,
<
то-выражение
>
<
то-выражение
> ::=
<
выражение
>
|
NULL
<
иначе-выражение
> ::=
<
выражение
>
|
NULL
Константы
<
константа
> ::=
<
числовой литерал
>
|
<
строка в кавычках
>
|
<
интервальный литерал
>
|
<
литерал типа даты и времени
>
|
CURRENT
[
<
уточнение полей даты и времени
>
]
|
USER
|
TODAY
|
DBSERVERNAME
|
SITENAME
|
<
числовой литерал
>
UNITS
<
единица даты или времени
>
<
единица даты или времени
> ::=
YEAR
|
MONTH
|
DAY
|
HOUR
|
MINUTE
|
SECOND
|
FRACTION
[<
цифра
>]
Выражения агрегирования
<
выражение агрегирования
> ::=
COUNT(*)
|
COUNT (
<
уточнение строк
>
[
<
уточнение имени столбца
>
.
]
<
имя столбца
>
)
|
COUNT (
[
ALL
] [
<
уточнение имени столбца
>
.
]
<
имя столбца
>
)
|
<
функция агрегирования
>
(
[
<
уточнение строк
>
]
[
<
уточнение имени столбца
>
.
]
<
имя столбца
>
)
|
<
расширенная функция агрегирования
>
(
[
ALL
]
<
выражение (подмножество)
>
)
<
уточнение строк
> ::=
DISTINCT
|
UNIQUE
<
функция агрегирования
> ::=
AVG
|
MAX
|
MIN
|
SUM
<
расширенная функция агрегирования
> ::=
<
функция агрегирования
>
|
RANGE
|
STDEV
|
VARIANCE
Примечание
Аргументом функции агрегирования, в общем случае, не может быть выражение, содержащее функцию агрегирования.
Вызовы процедур
<
вызов процедуры
> ::=
<
имя процедуры
>
(
[
<
список аргументов
>
]
)
<
список аргументов
> ::=
<
аргумент
>
{
,
<
аргумент
>
}
<
аргумент
> ::=
[
<
имя параметра
>
=
]
<
значение аргумента
>
<
имя параметра
> ::=
<
идентификатор
>
<
значение аргумента
> ::=
<
выражение
>
|
<
ограниченный оператор SELECT
>
OpenXS
|
Проект Informix
|
Содержание
|
БНФ???
|
Текст
|
Вверх
Copyright (c) 1999-2001 by
V. Kravchuk