Арифметические функции
SQL поддерживает полный набор арифметических операций и математических функций для построения арифметических выражений над колонками базы данных (+, -, *, /, ABS, LN, SQRT и т.д.). Список основных встроенных математических функций дан ниже в таблице 8.2.
ABS(X) | Возвращает абсолютное значение числа Х |
ACOS(X) | Возвращает арккосинус числа Х |
ASIN(X) | Возвращает арксинус числа Х |
ATAN(X) | Возвращает арктангенс числа Х |
COS(X) | Возвращает косинус числа Х |
EXP(X) | Возвращает экспоненту числа Х |
SIGN(X) | Возвращает -1, если Х<0,0, если Х=0, +1, если Х>0 |
LN(X) | Возвращает натуральный логарифм числа Х |
MOD(X,Y) | Возвращает остаток от деления Х на Y |
CEIL(X) | Возвращает наименьшее целое, большее или равное Х |
ROUND(X,n) | Округляет число Х до числа с n знаками после десятичной точки |
SIN(X) | Возвращает синус числа Х |
SQRT(X) | Возвращает квадратный корень числа Х |
TAN(X) | Возвращает тангенс числа Х |
FLOOR(X) | Возвращает наибольшее целоеб меньшее или равное Х |
LOG(a,X) | Возвращает логарифм числа Х по основанию А |
SINH(X) | Возвращает гиперболический синус числа Х |
COSH(X) | Возвращает гиперболический косинус числа Х |
TANH(X) | Возвращает гиперболический тангенс числа Х |
TRANC(X,n) | Усекает число Х до числа с n знаками после десятичной точки |
POWER(A,X) | Возвращает значение А, возведенное в степень Х |
Набор встроенных функций может изменяться в зависимости от версии СУБД одного производителя и также в СУБД различных производителей. Так, например, в СУБД SQLBase, Centure Inc. есть функция @ATAN2(X,Y), которая возвращает арктангенс Y/X, но отсутствует функция SIGN(X).
Арифметические выражения необходимы для получения данных, которые непосредственно не сохраняются в колонках таблиц базы данных, но значения которых необходимы пользователю. Допустим, что вам необходим список служащих, показывающий выплату, которую получил каждый служащий с учетом премий и штрафов.
SELECT ENAME, SAL, COMM, FINE, SAL + COMM - FINE FROM EMPLOYEE ORDER BY DEPNO;
Арифметическое выражение SAL + COMM - FINE выводится как новая колонка в результирующей таблице, которая вычисляется в результате выполнения запроса. Такие колонки называют еще производными (вычисляемыми) атрибутами или полями.