Базы данных

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

Функция SIGN определяет знак числа. Если п положительное, то функция возвращает 1. Если отрицательное — возвращается -1. Если равно нулю, то возвращается 0. Например:

SELECT  SIGNC100.22) XI,   SIGN(-100.22) Х2, SIGN(O) ХЗ FROM DUAL

XI                  Х2                 ХЗ

"1 Л о

Функция MOD(n, m)

Функция MOD возвращает от деления п на т. Например:

SELECT  M0D(10, 3) XI, M0D(10, 2) Х2, M0D(100, 0) ХЗ FROM DUAL

XI                  X2                 ХЗ

~I                    0                    100

Интересной особенностью данной функции является возможность передачи m равного нулю — при этом не возникает ошибки деления на 0.

Функция POWER(n, m)

Функция POWER возводит число п в степень т. Степень может быть дробной и отрицательной, что существенно расширяет возможности данной функции.

SELECT P0WERC10,   2) XI,   P0WER(100, 1/2) Х2, P0WER(1000, 1/3) ХЗ,   P0WER(1000, -1/3) Х4 FROM DUAL

XI

X2

ХЗ

X4

100

10

10

0.1

В некоторых случаях при вызове данной функции может возникнуть исключительная ситуация. Например:

SELECT  P0WERC-100, 1/2) Х2 FROM DUAL

В данном случае производится попытка вычисления квадратного корня от отрицательного числа, что приведет к возникновению ошибки ORA-01428 «Аргумент вне диапазона».

Функция SQRT(n)

Данная функция возвращает квадратный корень от числа п. Например:

SELECT SQRT(IOO)  X FROM DUAL

Функции EXP(n) и LN(n)

Функция EXP возводит е в степень п, а функция LN вычисляет натуральный логарифм от п (при этом п должно быть больше нуля). Пример:

SELECT EXP(2) XI, LN(1) X2, LN(EXP(2)) ХЗ FROM DUAL

XI                                     X2                 ХЗ

2,71828182845905             0                    2

Попытка передать функции LN отрицательное значение приводит к возникновению ошибки ORA-1428.

Функция LOG(n, m)

Функция LOG производит вычисление логарифма m по основанию п. Пример:

SELECT  L0G(2, 8) XI, L0G(10, 100) Х2 FROM DUAL

XI                       X2

~3                         2

предыдущаяследующая