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

         

Команда COLUMN


Команда COLUMN для управления форматом выдачи столбца имеет следующий синтаксис:

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

COL[UMN] [<ссылка на столбец> {<опция> }]

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

<имя столбца> | <псевдоним> | <выражение>

<опция> ::=

ALI[AS] <псевдоним>

| CLE[AR]

  | ENTMAP [<вкл./откл.>]

  | FOLD_A[FTER]

  | FOLD_B[EFORE]

  | FOR[MAT] <формат>

  | HEA[DING] <текст>

  | JUS[TIFY] <выравнивание>

  | LIKE <выражение> | <псевдоним>

  | NEWL[INE]

  | NEW_V[ALUE] <переменная>



  | NOPRI[NT]

  | PRI[NT]

  | NUL[L] <текст>

  | OLD_V[ALUE] <переменная>

  | <вкл./откл.>

  | WRA[PPED]

  | WOR[D_WRAPPED]

  | TRU[NCATED]

<вкл./откл.> ::=

ON | OFF

<выравнивание> ::=

L[EFT] | C[ENTER] | C[ENTRE] | R[IGHT]

Назначение опций форматирования столбца кратко описано в .

Таблица 5. Основные опции команды COLUMN.

Опция Назначение
ALIASПрисваивает столбцу указанный псевдоним. По этому псевдониму на столбец можно ссылаться в дальнейшем в командах , и .
CLEARСбрасывает атрибуты указанного столбца в стандартные значения.
ENTMAPПозволяет включать и отключать форматирование значений столбца для HTML-отчета. Если эта опция для столбца включена, в значениях будут заменяться символы, имеющие управляющее значение в HTML (<, >, & и т.д.).
FOLD_AFTERВставляет перевод строки после заголовка столбца и каждого значения в данном столбце. Перевод строки не вставляется, если указанный столбец - последний в списке выбора.
FOLD_BEFOREВставляет перевод строки перед заголовком столбца и каждым значением в данном столбце. Перевод строки не вставляется, если указанный столбец - первый в списке выбора.
FORMATЗадает формат вывода значений столбца. Основные элементы формата представлены в ниже.
HEADINGЗадает заголовок столбца. Если эта опция не используется, в качестве заголовка используются начальные символы (до ширины столбца) имени столбца или выбираемого выражения. Если в тексте есть пробелы или символы пунктуации, его необходимо брать в одинарные или двойные кавычки. Вместо каждого вхождения символа HEADSEP (по умолчанию - "|") в тексте заголовка вставляется перевод строки.
JUSTIFYЗадает выравнивание столбца. По умолчанию столбцы типа NUMBER выравниваются вправо, все остальные - влево.
LIKEКопирует особенности форматирования указанного столбца, не заданные для текущего столбца явно.
NEWLINEВставляет перевод строки перед выдачей значения столбца аналогично FOLD_BEFORE.
NEW_VALUEЗадает переменную, в которой будет храниться значение столбца. Эту переменную можно использовать в команде в качестве элемента верхнего колонтитула. Сам столбец необходимо при этом указать в команде с действием SKIP PAGE.
NOPRINT
PRINT
Управляет выдачей столбца. Опция NOPRINT отключает выдачу столбца на экран и в отчет. Опция PRINT восстанавливает выдачу столбца.
NULLЗадает текст, выдаваемый утилитой SQL*Plus вместо пустых значений в столбце. По умолчанию используется пробел.
OLD_VALUEЗадает переменную, в которой будет храниться значение столбца. Эту переменную можно использовать в команде в качестве элемента нижнего колонтитула. Сам столбец необходимо при этом указать в команде с действием SKIP PAGE.
ON
OFF
Управляет применением особенностей (атрибутов) форматирования столбца. Значение OFF отключает применение особенностей форматирования, не отменяя их. Значение ON снова включает применение заданных особенностей форматирования.
WRAPPED
WORD_WRAPPED
TRUNCATED
Задает правила работы со значениями, превышающими ширину столбца. Допускается перенос на следующую строку по границе столбца, по границе слова или усечение по границе столбца.
<
Таблица 6. Основные элементы формата опции FORMAT.

Элемент Пример Описание
A<ширина> A20 Этот элемент формата позволяет изменить стандартную ширину столбца строкового типа и типа DATE. Если значение столбца не помещается в заданную <ширину>, оно усекается или переносится, в зависимости от соответствующих установок.
9 9999 Представляет значащую цифру в числовом значении. Вместо начальных нулей выдаются пробелы. Нулевое значение представляется цифрой 0.
0 0999 Выдает начальный нуль.
$ $999 Выдает перед числовым значением символ доллара.
L 9999L Выдает символ локальной денежной единицы в данной позиции.
. 9999.99 Выдает разделитель целой и дробной части (десятичную запятую) в данной позиции
, 9,999 Выдает запятую (разделитель разрядов) в данной позиции.
DATE DATE Выдает числовое значение (представляющее дату в Юлианском формате) как дату в формате MM/DD/YY.
EEEE 9.999EEEE Выдает значение в экспоненциальном формате (обязательно указывать ровно четыре E).
Рассмотрим простой пример использования команды COLUMN для форматирования значений и заголовков столбцов:

SQL> col sal format 9,999.99

SQL> select sal, ename from emp;

SAL ENAME --------- ---------- 800.00 SMITH 1,600.00 ALLEN 1,250.00 WARD 2,975.00 JONES 1,250.00 MARTIN 2,850.00 BLAKE 2,450.00 CLARK 3,000.00 SCOTT 5,000.00 KING 1,500.00 TURNER 1,100.00 ADAMS 950.00 JAMES 3,000.00 FORD 1,300.00 MILLER

14 строк выбрано.

SQL> col sal clear

SQL> col ename heading "Зарплата|товарища"

SQL> a where deptno=30

1* select sal, ename from empwhere deptno=30 SQL> /

select sal, ename from empwhere deptno=30 * ошибка в строке 1: ORA-00933: неверное завершение SQL-предложения

SQL> c/where/ where/

1* select sal, ename from emp where deptno=30 SQL> /

Зарплата SAL товарища ---------- ---------- 1600 ALLEN 1250 WARD 1250 MARTIN 2850 BLAKE 1500 TURNER 950 JAMES

6 строк выбрано.

Команда COLUMN с единственным параметром - ссылкой на столбец, выдает все атрибуты форматирования указанного столбца. Команда COLUMN без параметров выдает все атрибуты форматирования для всех столбцов, для которых они явно устанавливались. Продолжая предыдущий пример:

SQL> col ename

COLUMN ename ON HEADING 'Зарплата|товарища' headsep '|'


Содержание раздела