Функция – это оператор ORACLE SQL, который может принимать один или несколько параметров и результат выполнения которого может быть подставлен в выражение. В частности, функции могут изменять внешнее представление данных (например, переводить дату в соответствующий день недели), выполнять их статистическую обработку или изменять содержание.
Все функции делятся на две большие группы: однострочные и групповые. Однострочные функции выполняют операции, которые могут повлиять на каждую строку таблицы в отдельности. В отличие от них групповые функции предназначены для получения агрегированной информации о некоторых подмножествах данных.
Системные переменные
Системные переменные создаются СУБД и содержат информацию о среде, в которой функционирует база данных. Три системные переменные, описанные далее, позволяют определять системную дату и время, идентификатор пользователя, выполняющего SQL-оператор, и имя компьютера, с которого пользователь вводит команды.
SYSDATE
Функция SYSDATE возвращает текущие дату и время с точки зрения сервера ORACLE. Например:
-- вывод системной даты экран
SELECT SYSDATE FROM DUAL;
Таблица DUAL является системной таблицей ORACLE. Она используется в запросах SELECT в тех случаях, когда выражение, указанное в параметре SELECT, необходимо выполнить только один раз, причем часто результат выражения не зависит от данных, находящихся в других таблицах.
Функцию SYSDATE можно использовать и в других операторах DML для вставки значения текущей даты и времени в поле таблицы. Поскольку функция SYSDATE возвращает результат типа DATE, к результату этой функции можно прибавлять целые или отрицательные числа для получения прошлой или будущей даты:
-- получение даты, которая наступит через неделю
SELECT SYSDATE+7 FROM DUAL;
USER
Функция USER возвращает идентификатор пользователя ORACLE, который вызвал содержащий ее SQL-оператор: