Функции

Cast-спецификация

CAST спецификация осуществляет преобразование типа и записывается следующим образом:

CAST( выражение AS тип_данных)

Результатом вычисления CAST является результат вычисления выражения, преобразованный к указанному типу данных. Если в качестве выражения записано NULL, CAST возвращает значение NULL, имеющее указанный тип данных.

Тип_данных – название существующего типа данных. Если тип данных имеет дополнительные атрибуты, например, длина, или точность и масштаб, эти атрибуты должны быть указаны вместе с типом данных.

Ограничения на использование типов данных:

• если в качестве операнда указано выражение, тогда допустимый тип данных определяется типом результата выражения (исходного типа данных);

• если в качестве операнда указано ключевое слово NULL, тогда можно использовать любой существующий тип данных.

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

СУБД предоставляет большой набор встроенных функций, возвращающих в качестве результата некоторое (одно) значение. К встроенным функциям относятся операции (например, +), функции преобразования, скалярные функции и агрегатные функции (или функции для колонок).

Рассмотрим некоторые встроенные функции SQL DB2®.

Функции SQL DB2®

Функция представляет собой некоторую операцию, на которую можно ссылаться по имени. За именем функции должны следовать парные круглые скобки, содержащие список аргументов (список аргументов может отсутствовать).

Поддерживаются два типа функций:

встроенные функции поддерживаются менеджером базы данных,

функции, определенные пользователем (UDF – User Defined Functions), создаются с помощью предложения CREATE FUNCTION.

Встроенные функции можно разделить на три типа: агрегатные функции (функции колонок), скалярные функции и табличные функции.

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

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

Аргументами табличной функции являются отдельные скалярные значения, которые могут относиться к разным типам данных и иметь разные значения. Табличная функция возвращает в качестве результата таблицу и может быть указана только в конструкции FROM предложения SELECT.