DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Дополнительные функции

В этом разделе приводятся оставшиеся функции, которые не входят ни в одну из рассмотренных категорий.
BFILENAME
Возвращает локатор BFILE, соответствующий имени физического файла операционной
системы. Каталог directory должен быть объектом DIRECTORY в словаре данных.
COALESCE
Возвращает первое выражение, не являющееся NULL, из списка аргументов. Если все выражения будут NULL COALESCE вернет NULL. Это обобщение функции NVL.
DECODE
Функция DECODE аналогична последовательности вложенных операторов IF-THEN-ELSE. Базовое выражение basejxpr последовательно сравнивается с выражениями compare, compare2 и т.д. Если базовое выражение соответствует f-му пункту сравнения, возвращается i-е значение (valuei). Если базовое выражение не соответствует ни одному пункту, возвращается значение по умолчанию (default). Выражения сравнения рассматриваются по очереди. Если найдено соответствие, оставшиеся пункты сравнения не рассматриваются. Если базовое выражение является NULL-значением, оно считается эквивалентным выражению сравнения типа NULL. Каждое значение выражения сравнения преобразуется, если необходимо, в тип данных значения первого выражения сравнения. Этот тип данных является также типом возвращаемого значения.
EMPTY_CLOB/EMPTY_BLOB
Возвращают пустые локаторы LOB. EMPTY.CLOB возвращает символьный локатор, а ЕМPTY_BLOB—двоичный локатор.
EXISTNODE
Определяет, возвращаются ли какие-либо узлы при просмотре документа XML, идентифицированного посредством имени XMLTypeinstance пути доступа Xpathstring. Возвращается значение типа NUMBER, которое равно 0, если узлов нет, и больше 0 при наличии узлов. Информация об использовании типов XML представлена в документации Oracle.
EXTRACT
Возвращает часть документа XML, идентифицированного посредством имени XMLTypeinstance и пути Xpathstring. Информация об использовании типов XML представлена в документации Oracle.
GREATEST
Возвращает наибольшее выражение среди своих аргументов. Перед сравнением каждое выражение неявно преобразуется к типу выражения expr1 Если expr1 имеет символьный тип, то сравнение выполняется без дополнения пробелами, причем результат имеет тип VARCHAR2,
LEAST
Возвращает наименьшее значение из списка выражений. Функция LEAST похожа на функцию GREATEST тем, что все выражения неявно преобразуются к типу данных первого выражения. Операции сравнения символов выполняются методом сравнения без дополнения пробелами.
NULLIF(a, Ь)
Возвращает NULL, если а равно   и а, если аргументы не равны.
SYS_CONNECT_BY_PATH
SYS_CONNECT_BY_PATH возвращает для значения столбца путь от корня до узла. Применяется только в иерархических запросах (см. "SQL Reference").
SYS_CONTEXT
Возвращает значение parameter, связанное с контекстом пространства имен namespace. Параметры и пространства имен задаются с помощью процедуры DBMS_SESSION.SET_CONTEXT. Возвращаемое значение будет иметь тип VARCHAR2 с максимальной длиной 256 байт, если не определен параметр длины length, который задает максимальную длину.
SYS_DBURIGEN
Создает URL для извлечения документа XML из базы данных. Информацию об использовании типов данных XML можно найти в документации Oracle.
SYS_GUID
Возвращает глобально уникальный идентификатор как 16-байтовое значение типа RAW.
SYS_TYPEID
Возвращает тип ID самого общего типа объекта objecttype.
SYS.XMLAGG
Объединяет несколько документов     или фрагментов документов в один документ. Информацию об использовании типов данных XML можно найти в документации Oracle.
SYS.XMLGEN
Возвращает фрагмент документа XML на основе данных в базе данных. Информацию об использовании типов данных ХМ L можно найти в документации Oracle.
TREAT
TREAT используется для изменения объявленного типа выражения. Можно изменить объявленный тип только на подтип или супертип заданного выражения. Возвращает ехрг, как если бы оно имело тип schema.type или являлось ссылкой (REF) на него (в зависимости от того, что указано).
UID
Возвращает целое число, однозначно идентифицирующее текущего пользователя базы данных. Функция UID не имеет аргументов.
USER
Возвращает значение типа VARCHAR2, содержащее имя текущего пользователя Oracle. Функция 
USERENV
Описание дается ниже.
VSIZE(x)
Возвращает число байтов во внутреннем представлении х.
DUMP
Назначение Возвращает значение VARCHAR2, которое содержит инфор­мацию о внутреннем представлении ехрт. Аргумент numbcr_fonna определяет базу возвращаемых значений.
Тип данных возвращается в виде числа, соответствующего внутренним типам
данных согласно следующей таблице:

USERENV( option)
Назначение Возвращает значение VARCHAR2, содержащее информацию о текущем сеансе, на основе параметра option. Поведение описывается в следующей таблице:
Значение параметра        Поведение USERENV(option)
'OSDBA'        Если в текущем сеансе инициирована роль 0SDBA, возвращает
'TRUE', иначе возвращает 'FALSE'. Отметим, что возвращаемое значение будет иметь тип VARCHAR2, а не BOOLEAN.
'LABEL'        Допустимо только в Trusted Oracle. Возвращает метку текущего
сеанса. Дополнительную информацию можно найти в "Trusted 0racle7 Server Administrator's Guide".

Значение параметра
'LANGUAGE'


'TERMINAL'


'SESSIONID'


'ENTRYID'


'LANG'
Поведение USERENV(option)
Возвращает язык и        используемые в данный момент
сеансом, а также набор символов базы данных. Они являются параметрами NLS.
Возвращает зависящий от операционной системы идентификатор терминала текущего сеанса. Для распределенных операторов SQL возвращается идентификатор локального сеанса.
Возвращает идентификатор сеанса аудита, если инициализационный параметр AUDITJRAIL задан как TRUE. USERENV('SESSIONID') не допустим в распределенных операторах SQL.
Возвращает доступный идентификатор записи аудита, если инициализационный параметр AUDITJRAIL задан как TRUE. USERENV('ENTRYID') не допустим в распределенных операторах SQL.
Возвращает сокращение ISO для названия языка. Это сокращенный формат USERENV('LANGUAGE').


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









jAntivirus