Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
05 приложение - SQL Plus - win.doc
Скачиваний:
11
Добавлен:
17.08.2019
Размер:
762.88 Кб
Скачать

Стандартный формат столбцов

Ширина числовых столбцов соответствует максимуму из ширины заголовка столбца, ширины, заданной с помощью опции COLUMN FORMAT, плюс один символ для знака, и ширины, заданной командой SET NUMWIDTH (по умолчанию, 10 символов). Если количество значащих цифр в числе больше, чем допускается шириной числового столбца, утилита SQL*Plus округляет число.

Для столбцов других типов ширина столбца соответствует его ширине в базе данных. Все эти столбцы по умолчанию выравниваются влево. Для столбцов типа DATE формат определяется соответствующими NLS-параметрами. Если они не заданы, предполагается формат A9 (см. табл. 6).

Команда 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.

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

Опция

Назначение

ALIAS

Присваивает столбцу указанный псевдоним. По этому псевдониму на столбец можно ссылаться в дальнейшем в командах BREAK, COMPUTE и COLUMN.

CLEAR

Сбрасывает атрибуты указанного столбца в стандартные значения.

ENTMAP

Позволяет включать и отключать форматирование значений столбца для HTML-отчета. Если эта опция для столбца включена, в значениях будут заменяться символы, имеющие управляющее значение в HTML (<, >, & и т.д.).

FOLD_AFTER

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

FOLD_BEFORE

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

FORMAT

Задает формат вывода значений столбца. Основные элементы формата представлены в табл. 6 ниже.

HEADING

Задает заголовок столбца. Если эта опция не используется, в качестве заголовка используются начальные символы (до ширины столбца) имени столбца или выбираемого выражения. Если в тексте есть пробелы или символы пунктуации, его необходимо брать в одинарные или двойные кавычки. Вместо каждого вхождения символа HEADSEP (по умолчанию - "|") в тексте заголовка вставляется перевод строки.

JUSTIFY

Задает выравнивание столбца. По умолчанию столбцы типа NUMBER выравниваются вправо, все остальные - влево.

LIKE

Копирует особенности форматирования указанного столбца, не заданные для текущего столбца явно.

NEWLINE

Вставляет перевод строки перед выдачей значения столбца аналогично FOLD_BEFORE.

NEW_VALUE

Задает переменную, в которой будет храниться значение столбца. Эту переменную можно использовать в команде TTITLE в качестве элемента верхнего колонтитула. Сам столбец необходимо при этом указать в команде BREAK с действием SKIP PAGE.

NOPRINT PRINT

Управляет выдачей столбца. Опция NOPRINT отключает выдачу столбца на экран и в отчет. Опция PRINT восстанавливает выдачу столбца.

NULL

Задает текст, выдаваемый утилитой SQL*Plus вместо пустых значений в столбце. По умолчанию используется пробел.

OLD_VALUE

Задает переменную, в которой будет храниться значение столбца. Эту переменную можно использовать в команде BTITLE в качестве элемента нижнего колонтитула. Сам столбец необходимо при этом указать в команде BREAK с действием 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 '|'