Печать      Открыть версию интерактивной справки в формате PDF


Предыдущий раздел

Следующий раздел

Функции преобразования

Функции преобразования служат для преобразования значения из одной формы в другую.

Cast

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

Синтаксис:

CAST (expression|NULL AS datatype)

Поддерживаются следующие типы данных, в которые может быть изменено значение:

CHARACTER, VARCHAR, INTEGER, FLOAT, SMALLINT, DOUBLE PRECISION, DATE, TIME, TIMESTAMP, BIT, BIT VARYING

В зависимости от исходного типа данных некоторые типы назначения не поддерживаются. Например, если исходным типом данных является строка BIT, типом данных назначения должна быть символьная строка или другая строка BIT.

Пример.

Сначала Annual Revenues приводится к типу INTEGER для удаления десятичных разрядов, затем к типу CHARACTER, чтобы можно было выполнить конкатенацию с символьным литералом (текст "K"):

CAST ( CAST ( Account."Account Revenue"/1000 AS INTEGER ) AS CHARACTER ) ||" K"

При использовании функции CAST должен возвращаться дополнительный пробел в конце значения, например: CAST(YEAR("Date Created".Date) as char) || '*' возвращается "2012 *"

Этой проблемы можно избежать, определяя длину возвращаемого значения, например:

CAST(YEAR("Date Created".Date) as char(4)))

IfNull

Проверяет, преобразуется ли выражение в значение null. Если да, назначает выражению указанное значение.

Синтаксис:

IFNULL (expression, value)

ValueOf( )

Функция VALUEOF используется в построителе выражений или фильтре для ссылки на значение переменной сеанса. Подробнее см. в разделе Переменные сеанса.

В качестве аргументов функции VALUEOF должны использоваться переменные сеанса. Ссылки на переменные сеанса выполняются по именам.

Пример.

Использование значения переменной сеанса с именем NQ_SESSION.CURRENT_YEAR:

CASE WHEN "Year" > VALUEOF(NQ_SESSION.CURRENT_YEAR) THEN "Future" WHEN ... ELSE...END

Требуется ссылаться на переменную сеанса по ее полностью определенному имени.


Опубликовано в Сентябрь 2017 Copyright © Oracle, 2005, 2017 гг. Все права защищены.Legal Notices.