Базы данных Oracle - статьи


Команда COMPUTE


Команда COMPUTE позволяет вычислять и выдавать итоговые значения. При вызове без параметров выдает все заданные вычисления. Команда COMPUTE имеет следующий синтаксис:

<команда COMPUTE> ::=

COMP[UTE]{ <функция> [LAB[EL] <текст>]}

OF <ссылка на столбец>{ <ссылка на столбец>}

   ON <ссылка на место>{ <ссылка на место>}

<ссылка на место> ::=

<ссылка на столбец> | REPORT | ROW

Функции, которые можно использовать при вычислении в команде COMPUTE, представлены в .

Таблица 8. Функции в команде COMPUTE.

Функция Назначение Допустимые типы данных
AVG Среднее среди непустых значений

Числовые

COU[NT] Количество непустых значений

Все

MIN[IMUM] Минимальное значение

Числовые и строковые

MAX[IMUM] Максимальное значение

Числовые и строковые

NUM[BER] Количество строк

Все

SUM Сумма непустых значений

Числовые

STD Среднеквадратичное отклонение непустых значений

Числовые

VAR[IANCE] Дисперсия непустых значений

Числовые

Назначение основных конструкций команды COMPUTE описано в .

Таблица 9. Основные конструкции команды COMPUTE.

Конструкция Описание
LABEL <текст>

Задает метку вычисляемого значения. Если эта конструкция не указана, выдается полное имя функции (см. ). Максимальная длина текста - 500 символов. Если текст содержит пробелы и символы пунктуации, его надо брать в одиночные кавычки. Метка выравнивается влево и усекается до меньшего из значений ширины столбца или длины строки.

Метка для вычисляемого значения выдается в столбце, по которому выполняется BREAK. Чтобы метка не выдавалась, необходимо задать опцию NOPRINT в команде COLUMN для этого столбца.

Если вычисления выполняются по ON ROW или ON REPORT, вычисляемое значение выдается в первом столбце и метка не выдается. Чтобы метка была выдана, включите в список выбора первым фиктивный столбец.

OF <ссылка на столбец>

Задает столбцы или выражения, функция от которого вычисляется. В конструкции OF можно сослаться на выражение в списке выбора, взяв его в двойные кавычки. Имя или псевдоним столбца в кавычки брать не надо.

ON <ссылка на место>

Задает событие, которое утилита SQL*Plus будет считать местом для вычисления. При ссылке на столбец его имя нельзя уточнять, - при необходимости надо использовать псевдонимы. При достижении места вычисления (т.е. когда изменяется значение столбца или выражения, извлекается новая строка или достигается конец отчета) команда COMPUTE выдает вычисленное значение и начинает вычисление сначала.

Если для одного и того же столбца задано несколько команд COMPUTE, применяется последняя из них.

В конструкции ON можно сослаться на выражение в списке выбора, взяв его в двойные кавычки. Имя или псевдоним столбца в кавычки брать не надо.

Если в качестве события задано ON ROW или ON REPORT, необходимо, чтобы в последней команде BREAK также использовался критерий разрыва ROW или REPORT.

<


Начало  Назад  Вперед