Функции
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.