Встроенные функции
Пример 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 Товар.КодТовара=
Сделка.КодТовара