Встроенные функции
Пример 11.3. Создание функции, которая для некоторого сотрудника выводит список всех его подчиненных.
Применим созданную функцию для определения списка подчиненных сотрудника ‘b’:
SELECT * FROM fn_findReports('b')
Оператор возвращает следующие значения:
emp mgr
-----------
b a
e f
f b
g b
Список подчиненных сотрудника ‘a’ создается с помощью оператора
SELECT * FROM fn_findReports('a')
emp mgr
---------
a NULL
b a
c a
d a
e f
f b
g b
i c
k d
Другой оператор формирует список подчиненных сотрудника ‘e’:
SELECT * FROM fn_findReports('e')
emp mgr
--------
e f
Список подчиненных сотрудника ‘c’ создает следующий оператор:
SELECT * FROM fn_findReports('c')
emp mgr
--------
c a
i c
Удаление любой функции осуществляется командой:
DROP FUNCTION {[ владелец.] имя_функции }
[,...n]
Встроенные функции, имеющиеся в распоряжении пользователей при работе с SQL, можно условно разделить на следующие группы:
- математические функции ;
- строковые функции ;
- функции для работы с датой и временем ;
- функции конфигурирования;
- функции системы безопасности;
- функции управления метаданными;
- статистические функции.
Краткий обзор математических функций представлен в таблице.
Таблица 11.1.
|
ABS
| вычисляет абсолютное значение числа
|
ACOS
| вычисляет арккосинус
|
ASIN
| вычисляет арксинус
|
ATAN
| вычисляет арктангенс
|
ATN2
| вычисляет арктангенс с учетом квадратов
|
CEILING
| выполняет округление вверх
|
COS
| вычисляет косинус угла
|
COT
| возвращает котангенс угла
|
DEGREES
| преобразует значение угла из радиан в градусы
|
EXP
| возвращает экспоненту
|
FLOOR
| выполняет округление вниз
|
LOG
| вычисляет натуральный логарифм
|
LOG10
| вычисляет десятичный логарифм
|
PI
| возвращает значение "пи"
|
POWER
| возводит число в степень
|
RADIANS
| преобразует значение угла из градуса в радианы
|
RAND
| возвращает случайное число
|
ROUND
| выполняет округление с заданной точностью
|
SIGN
| определяет знак числа
|
SIN
| вычисляет синус угла
|
SQUARE
| выполняет возведение числа в квадрат
|
SQRT
| извлекает квадратный корень
|
TAN
| возвращает тангенс угла
|
SELECT Товар.Название, Сделка.Количество,
Round(Товар.Цена*Сделка.Количество
*0.05,1)
AS Налог
FROM Товар INNER JOIN Сделка
ON Товар.КодТовара=
Сделка.КодТовара