Кто никогда не совершал безрассудств, тот не так мудр, как ему кажется (Ф. Ларошфуко).

SQL – Числовые функции

10 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
5 мая 2017
SQL - Числовые функции
Числовые функции в SQL используются в основном для цифровой манипуляции и/или математических расчетов. В следующей таблице приведены числовые функции:

 

 

 

 

 

No.Описание функций
1ABS() Возвращает абсолютное значение числового выражения.
2ACOS() Возвращает арккосинус числового выражения. Возвращает значение NULL, если значение не находится в диапазоне от -1 до 1.
3ASIN() Возвращает арксинус числового выражения. Возвращает NULL, если значение не в диапазоне от -1 до 1
4ATAN() Возвращает арктангенс числового выражения.
5ATAN2() Возвращает арктангенс двух переменных, передаваемых ему.
6BIT_AND() Возвращает побитовое AND всех битов в переданных выражение.
7BIT_COUNT() Возвращает строковое представление двоичного значения, переданного ему.
8BIT_OR() Возвращает побитовое OR всех битов в пройденному выражении.
9CEIL() Возвращает наименьшее целое значение, которое не меньше, чем передаваемое числовое выражение
10CEILING() Возвращает наименьшее целое значение, которое не меньше, чем передаваемое числовое выражение
11CONV() Преобразование числовое выражение из одной базы в другую.
12COS() Возвращает косинус передаваемого числового выражения. Числовое выражение должно быть выражено в радианах.
13СОТ() Возвращает котангенс передаваемого числового выражения.
14DEGREES() Возвращает числовое выражение, преобразованного из радиан в градусы.
15EXP() Возвращает основание натурального логарифма (е), возведенный в степень передаваемого числового выражения.
16FLOOR() Возвращает наибольшее целое значение, которое не больше, чем передаваемое числовое выражение.
17ФОРМАТ() Возвращает числовое выражение, округленное до нескольких знаков после запятой.
18GREATEST() Возвращает наибольшее значение входного выражения.
19INTERVAL() Принимает несколько выражений EXP1, exp2 и ехр3 так далее .. и возвращает 0, если exp1 меньше exp2, возвращает 1, если exp1 меньше exp3 и так далее.
20LEAST() Возвращает минимальный многозначный вход, когда дается два или более.
21LOG() Возвращает натуральный логарифм переданного числового выражения.
22LOG10() Возвращает основание 10 логарифм переданного числового выражения.
23MOD() Возвращает остаток от деления одного выражения с помощью другого выражения.
24OCT() Возвращает строковое представление восьмеричного значения переданного числового выражения. Возвращает NULL, если передается значение NULL.
25PI() Возвращает значение числа пи
26POW() Возвращает значение одного выражения, возведенное в степень другого выражения
27POWER() Возвращает значение одного выражения, возведенное в степень другого выражения
28RADIANS() Возвращает значение выражения, преобразованное из градусов в радианы.
29ROUND() Возвращает числовое выражение, округленное до целого числа. Может использоваться, чтобы закруглить выражение для числа десятичных знаков
30SIN() Возвращает синус числового выражения заданного в радианах.
31SQRT() Возвращает неотрицательный квадратный корень числового выражения.
32STD() Возвращает стандартное отклонение числового выражения.
33STDDEV() Возвращает стандартное отклонение числового выражения.
34TAN() Возвращает тангенс числового выражения, выраженного в радианах.
35TRUNCATE() Возвращает число exp1 усекаемое до exp2 знаков после запятой. Если exp2 равен 0, то результат не будет иметь десятичную точку.

ABS(Х)

Функция ABS() возвращает абсолютное значение X. Рассмотрим следующий пример:

SQL> SELECT ABS(2);
+---------------------------------------------------------+
| ABS(2)                                                  |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL> SELECT ABS(-2);
+---------------------------------------------------------+
| ABS(2)                                                  |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

 

ACOS(Х)

Эта функция возвращает арккосинус X. Значение X должно лежать в пределах от -1 до 1, или будет возвращен NULL. Рассмотрим следующий пример:

SQL> SELECT ACOS(1);
+---------------------------------------------------------+
| ACOS(1)                                                 |
+---------------------------------------------------------+
| 0.000000                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

 

ASIN(X),

Функция ASIN() возвращает арксинус X. Значение X должно быть в диапазоне от -1 до 1, или возвращается NULL.

SQL> SELECT ASIN(1);
+---------------------------------------------------------+
| ASIN(1)                                                 |
+---------------------------------------------------------+
| 1.5707963267949                                         |
+---------------------------------------------------------+
1 row in set (0.00 sec)

 

ATAN(Х)

Эта функция возвращает арктангенс X.

SQL> SELECT ATAN(1);
+---------------------------------------------------------+
| ATAN(1)                                                 |
+---------------------------------------------------------+
| 0.78539816339745                                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)

 

ATAN2(Y, X)

Эта функция возвращает арктангенс двух аргументов: X и Y. Это похоже на арктангенс Y/X, за исключением того, что знаки обоих используются для поиска квадранта.

SQL> SELECT ATAN2(3,6);
+---------------------------------------------------------+
| ATAN2(3,6)                                              |
+---------------------------------------------------------+
| 0.46364760900081                                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)

 

BIT_AND(выражение)

Функция BIT_AND возвращает побитовое И для всех битов в выражении. Основной предпосылкой является то, что если две соответствующие бита одинаковы, то побитовое И будет возвращать 1, в то время как, если они различны, побитовое операция И вернет 0. Сама функция возвращает 64-битное целое значение. Если нет совпадений, то он возвращает 18446744073709551615. Следующий пример выполняет функцию BIT_AND на колонке PRICE в таблице CARS, сгруппированной по MAKER:

SQL> SELECT 
          MAKER, BIT_AND(PRICE) BITS
          FROM CARS GROUP BY MAKER
+---------------------------------------------------------+
|MAKER           BITS                                     |
+---------------------------------------------------------+
|CHRYSLER        512                                      |
|FORD            12488                                    |
|HONDA           2144                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)

BIT_COUNT(числовое_значение)

Функция BIT_COUNT() возвращает число битов, которые указанные в numeric_value. Следующий пример с помощью функции BIT_COUNT() возвращает число активных бит для диапазона чисел:

SQL> SELECT
          BIT_COUNT(2) AS TWO,
          BIT_COUNT(4) AS FOUR,
          BIT_COUNT(7) AS SEVEN
+-----+------+-------+
| TWO | FOUR | SEVEN |
+-----+------+-------+
|   1 |    1 |     3 |
+-----+------+-------+
1 row in set (0.00 sec)

BIT_OR(выражение)

Функция BIT_OR() возвращает побитовое ИЛИ всех битов в выражении. Основная цель функции побитового ИЛИ является то, что она возвращает 0, если совпадают соответствующие биты и 1, если они этого не происходит. Функция возвращает 64-разрядное целое число, а если нет соответствующих строк, то он возвращает 0. Следующий пример выполняет функцию BIT_OR() на колонке PRICE таблицы CARS , сгруппированные по MAKER:

SQL> SELECT 
          MAKER, BIT_OR(PRICE) BITS
          FROM CARS GROUP BY MAKER
+---------------------------------------------------------+
|MAKER           BITS                                     |
+---------------------------------------------------------+
|CHRYSLER        62293                                    |
|FORD            16127                                    |
|HONDA           32766                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)

CEIL(Х)

CEILING(Х)

Эти функции возвращают наименьшее целое значение, которое не меньше, чем X. Рассмотрим следующий пример:

SQL> SELECT CEILING(3.46);
+---------------------------------------------------------+
| CEILING(3.46)                                           |
+---------------------------------------------------------+
| 4                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL> SELECT CEIL(-6.43);
+---------------------------------------------------------+
| CEIL(-6.43)                                             |
+---------------------------------------------------------+
| -6                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

CONV(N, N from_base, to_base)

Назначение функции CONV() заключается в преобразовании чисел между различными системами счисления. Функция возвращает строку значения N, преобразованную из from_base в to_base. Минимальное базовое значение равно 2, а максимальное значение 36. Если какой-либо из аргументов равен NULL, то функция возвращает значение NULL. Рассмотрим следующий пример, который преобразует число 5 от основания 16 к основанию 2:

SQL> SELECT CONV(5,16,2);
+---------------------------------------------------------+
| CONV(5,16,2)                                            |
+---------------------------------------------------------+
| 101                                                     |
+---------------------------------------------------------+
1 row in set (0.00 sec)

COS(X)

Эта функция возвращает косинус X. Значение X задается в радианах.

SQL>SELECT COS(90);
+---------------------------------------------------------+
| COS(90)                                                 |
+---------------------------------------------------------+
| -0.44807361612917                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

СОТ(Х)

Эта функция возвращает котангенс X. Рассмотрим следующий пример:

SQL>SELECT COT(1);
+---------------------------------------------------------+
| COT(1)                                                  |
+---------------------------------------------------------+
| 0.64209261593433                                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)

DEGREES(Х)

Эта функция возвращает значение X преобразованную из радиан в градусы.

SQL>SELECT DEGREES(PI());
+---------------------------------------------------------+
| DEGREES(PI())                                           |
+---------------------------------------------------------+
| 180.000000                                              |
+---------------------------------------------------------+
1 row in set (0.00 sec)

EXP(X)

Эта функция возвращает значение е (основание натурального логарифма), возведенное в X.

SQL>SELECT EXP(3);
+---------------------------------------------------------+
| EXP(3)                                                  |
+---------------------------------------------------------+
| 20.085537                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

FLOOR(Х)

Эта функция возвращает наибольшее целое значение, которое не больше, чем X.

SQL>SELECT FLOOR(7.55);
+---------------------------------------------------------+
| FLOOR(7.55)                                             |
+---------------------------------------------------------+
| 7                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

FORMAT(X, D)

Функция Format() используется для форматирования числа х в следующем формате: ###, ###, ### ## усекается до D знаков после запятой.. Следующий пример демонстрирует использование и вывод функции FORMAT():

SQL>SELECT FORMAT(423423234.65434453,2);
+---------------------------------------------------------+
| FORMAT(423423234.65434453,2)                            |
+---------------------------------------------------------+
| 423,423,234.65                                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)

GREATEST(n1, n2, n3, ……….)

Функция GREATEST() возвращает наибольшее значение в наборе входных параметров (n1, n2, n3, n-й и так далее). Следующий пример использует функцию GREATEST() для возвращения наибольшее число из набора числовых значений:

SQL>SELECT GREATEST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| GREATEST(3,5,1,8,33,99,34,55,67,43)                     |
+---------------------------------------------------------+
| 99                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

INTERVAL(N, N1, N2, N3, ……….)

Функция INTERVAL() сравнивает значение N в списке значений (N1, N2, N3, и так далее). Функция возвращает 0, если N <N1, 1, если N <N2, 2, если N <N3, и так далее. Она возвращает .1 если N является NULL. Список значений должен быть в виде N1 <N2 <N3 для того, чтобы работать должным образом. Следующий код представляет собой простой пример того, как работает функция INTERVAL():

SQL>SELECT INTERVAL(6,1,2,3,4,5,6,7,8,9,10);
+---------------------------------------------------------+
| INTERVAL(6,1,2,3,4,5,6,7,8,9,10)                        |
+---------------------------------------------------------+
| 6                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

 

Помните, что 6-это нулевой индекс в списке значение первое значение, которое было больше, чем N. в нашем случае 7 было неподходящее значение и находится в шестом слоте индекса.

LEAST(N1, N2, N3, N4, ……)

Функция LEAST() противоположна функции GREATEST(). Его цель состоит в том, чтобы вернуть наименее оцененный элемент из списка значений (N1, N2, N3, и так далее). Следующий пример показывает правильное использование и вывод для функции LEAST():

SQL>SELECT LEAST(3,5,1,8,33,99,34,55,67,43);
+---------------------------------------------------------+
| LEAST(3,5,1,8,33,99,34,55,67,43)                        |
+---------------------------------------------------------+
| 1                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

LOG(X),

LOG(В, X)

Единственный вариант аргумента функции возвращает натуральный логарифм X. Если вызывается с двумя аргументами, она возвращает логарифм X для произвольного основания B. Рассмотрим следующий пример:

SQL>SELECT LOG(45);
+---------------------------------------------------------+
| LOG(45)                                                 |
+---------------------------------------------------------+
| 3.806662                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT LOG(2,65536);
+---------------------------------------------------------+
| LOG(2,65536)                                            |
+---------------------------------------------------------+
| 16.000000                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

Log10(Х)

Эта функция возвращает основание 10 логарифма X.

SQL>SELECT LOG10(100);
+---------------------------------------------------------+
| LOG10(100)                                              |
+---------------------------------------------------------+
| 2.000000                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

MOD(N, M)

Эта функция возвращает остаток от N деленного на М. Рассмотрим следующий пример:

SQL>SELECT MOD(29,3);
+---------------------------------------------------------+
| MOD(29,3)                                               |
+---------------------------------------------------------+
| 2                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

OCT(N)

Функция OCT() возвращает строковое представление восьмеричного числа N. Это эквивалентно использованию CONV(N, 10,8).

SQL>SELECT OCT(12);
+---------------------------------------------------------+
| OCT(12)                                                 |
+---------------------------------------------------------+
| 14                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

PI()

Эта функция просто возвращает значение числа pi. SQL внутренне сохраняет полную двойную точность значение числа пи.

SQL>SELECT PI();
+---------------------------------------------------------+
| PI()                                                    |
+---------------------------------------------------------+
| 3.141593                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

POW(Х, Y),

POWER (X, Y)

Эти две функции возвращают значение X, возведенное в степень У.

SQL> SELECT POWER(3,3);
+---------------------------------------------------------+
| POWER(3,3)                                              |
+---------------------------------------------------------+
| 27                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

RADIANS(Х)

Эта функция возвращает значение X, преобразованное из градусов в радианы.

SQL>SELECT RADIANS(90);
+---------------------------------------------------------+
| RADIANS(90)                                             |
+---------------------------------------------------------+
|1.570796                                                 |
+---------------------------------------------------------+
1 row in set (0.00 sec)

ROUND(X),

ROUND(X, D)

Эта функция возвращает X округленный до ближайшего целого числа. Если второй аргумент D, то функция возвращает Х округляемое до D знаков после запятой. D должен быть положительным или все цифры справа от десятичной точки будут удалены. Рассмотрим следующий пример:

SQL>SELECT ROUND(5.693893);
+---------------------------------------------------------+
| ROUND(5.693893)                                         |
+---------------------------------------------------------+
| 6                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
| ROUND(5.693893,2)                                       |
+---------------------------------------------------------+
| 5.69                                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SIGN(Х)

Эта функция возвращает знак X (отрицательный, нулевой или положительный) как -1, 0 или 1.

SQL>SELECT SIGN(-4.65);
+---------------------------------------------------------+
| SIGN(-4.65)                                             |
+---------------------------------------------------------+
| -1                                                      |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT SIGN(0);
+---------------------------------------------------------+
| SIGN(0)                                                 |
+---------------------------------------------------------+
| 0                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQL>SELECT SIGN(4.65);
+---------------------------------------------------------+
| SIGN(4.65)                                              |
+---------------------------------------------------------+
| 1                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SIN(X)

Эта функция возвращает синус X. Рассмотрим следующий пример:

SQL>SELECT SIN(90);
+---------------------------------------------------------+
| SIN(90)                                                 |
+---------------------------------------------------------+
| 0.893997                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

SQRT(Х)

Эта функция возвращает неотрицательный квадратный корень из X. Рассмотрим следующий пример:

SQL>SELECT SQRT(49);
+---------------------------------------------------------+
| SQRT(49)                                                |
+---------------------------------------------------------+
| 7                                                       |
+---------------------------------------------------------+
1 row in set (0.00 sec)

STD(выражение),

STDDEV(выражение)

Функция STD() используются для возврата стандартного отклонения выражения. Это равносильно тому, как квадратный корень из выражения VARIANCE(). Следующий пример вычисляет стандартное отклонение колонны PRICE в нашей таблице CARS:

SQL>SELECT STD(PRICE) STD_DEVIATION FROM CARS;
+---------------------------------------------------------+
| STD_DEVIATION                                           |
+---------------------------------------------------------+
| 7650.2146                                               |
+---------------------------------------------------------+
1 row in set (0.00 sec)

TAN(Х)

Эта функция возвращает тангенс аргумента X, которая выражается в радианах.

SQL>SELECT TAN(45);
+---------------------------------------------------------+
| TAN(45)                                                 |
+---------------------------------------------------------+
| 1.619775                                                |
+---------------------------------------------------------+
1 row in set (0.00 sec)

TRUNCATE(X, D)

Эта функция используется, чтобы вернуть значение X, усеченное до D числа знаков после запятой. Если D равно 0, то десятичная точка удаляется. Если D является отрицательным, то D число значений в целой части величины усекается. Рассмотрим следующий пример:

SQL>SELECT TRUNCATE(7.536432,2);
+---------------------------------------------------------+
| TRUNCATE(7.536432,2)                                    |
+---------------------------------------------------------+
| 7.53                                                    |
+---------------------------------------------------------+
1 row in set (0.00 sec)

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 2656

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close