Введение в СУБД "Oracle". Космачев В.М - 37 стр.

UptoLike

ГУАП МЦИТ
Введение в «ORACLE»
Под ред. проф. В.М.Космачёва
37
Определяет, как SQL*PLUS будет обращаться с CHAR-строками, которые слишком широки для столбца. WRAPPED
сворачивает конец строки на следующую линию. WORD_WRAPPED функция аналогична WRAPPED, но при свертке
слова переносятся на другую строку полностью. TRUNCATED при выводе обрезает конец строки.
Замечание
Вы можете вводить любое количество команд COLUMN для одного или нескольких столбцов. Все установленные
атрибуты столбцов действуют до конца сеанса, или пока вы не отключите атрибуты фразой OFF. Таким образом,
команды COLUMN, которые вы ввели, управляют атрибутами столбцов для множества команд SELECT. Для
различных столбцов эта команда может быть введена любое число раз. Также, любое число команд COLUMN может
быть введено для одного и того же столбца, и их фразы будут применены совместно. Если эти несколько команд
COLUMN применяют одну и ту же фразу для того же столбца, управление осуществляется с помощью последней.
Примеры
:
1.Чтобы сделать столбец ENAME шириной в 20 символов и двух строчный заголовок EMPLOEYY NAME, введите:
SQL> COLUMN ENAME FORMAT A20 HEADING ‘EMPLOYEE | NAME’
2.Чтобы отформатировать столбец SAL таким образом, чтобы он выводил миллионы долларов, округлялся до центов,
использовал запятую для разделения тысяч, и выводил $0.00, когда число равно нулю, вы должны ввести:
SQL> COLUMN SAL FORMAT $9,999,990.99
3.Чтобы присвоить алиас NET столбцу содержащему длинное выражение, вывести результат в формате долларов, и
вывести <NULL> для пустых значений, вы можете ввести:
SQL> COLUMN SAL+COMM+BONUS-EXPENSES-INS-TAX ALIAS NET
SQL> COLUMN NET FORMAT $9,999,999.99 NULL ‘<NULL>’
Заметим, что в данном примере спецификация столбца разделена на две команды. Первая определяет алиас NET, а
вторая использует NET для задания формата. Также заметим, что в первой команде вы должны задать выражение
точно так же, как вы будете использовать его в командах SELECT. Иначе, SQL*PLUS не найдет описание данного
столбца.
4. Чтобысвернутьдлинное значение в столбце REMARKS, вы можете ввести:
SQL> COLUMN REMARKS FORMAT A20 WRAP
5. Для того, чтобы распечатать текущую дату и наименование каждой профессии в верхнем заголовке, введите
следующее. (Вопрос создания переменной с текущей датой в вашем LOGIN файле рассматривался в главеВывод
текущей даты в заголовкахтемыОпределение заголовков и размерностей страниц”.)
SQL> COLUMN JOB NOPRINT NEW_VALUE JOBVAR
SQL> COLUMN TODAY NOPRINT NEW_VALUE DATEVAR
SQL> BREAK ON JOB SKIP PAGE ON TODAY
SQL> TTITLE CENTER ‘Job Report’ RIGHT DATEVAR SKIP
2 -LEFT ‘Job: ‘ JOBVAR SKIP 2
SQL> SELECT TO_CHAR(SYSDATE, ‘MM/DD/YY’) TODAY/
2 ENAME, JOB, MGR, HIREDATE, SAL, DEPTNO
3 FROM EMP WHERE JOB IN (‘CLERK’,’SALESMAN’)
4 ORDER BY JOB, ENAME;
5. Форматирование заголовков (вариат1)
COLUMN ename FORMAT A16 HEADING ‘Фамилия | Имя | Отчество
COLUMN job FORMAT A16 HEADINGДолжность
COLUMN sal FORMAT $9999.99 HEADING ‘Оклад
SELECT ename,job,sal FROM emp WHERE deptno = 10;
6. Форматирование заголовков (вариат2)
COLUMN “Фамилия,Имя,Отчество” FORMAT A24
COLUMN “Должность” FORMAT A10
COLUMN “Оклад” FORMAT $9999.99
SELECT ename “Фамилия,Имя,Отчество”, job “Должность”, sal “Оклад” FROM emp WHERE deptno = 10;