Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


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

В Oracle предусмотрен ряд встроенных функций для работы с числами.

Функция ABS(n)

Функция ABS возвращает абсолютное значение числа. Например:

SELECT ABS(100) XI, ABS(-100) Х2, ABS(-100.2) Х3
FROM DUAL

X1

Х2

ХЗ

100

100

100,2

Функция CEIL (n)

Функция CEIL возвращает наименьшее целое, большее или равное пе­реданному в качестве параметра числу n. Например:

SELECT CEIL(100) X1, CEIL(-IOO) Х2, CEIL(100.2) Х3, CEIL(-100.2) Х4 FROM DUAL

XI

X2

X3

X4

100

-100

101

100

Функция FLOOR(n)

Функция FLOOR возвращает наибольшее целое, меньшее или равное переданному в качестве параметра числу n. Например:

SELECT FL00R(100.22) X1, FL00R(-100.22) Х2, FL00R(100.99) ХЗ, FL00R(100.01) Х4
FROM DUAL

X1

X2

ХЗ

X4

100

-101

100

100

Функция TRUNC(n [,m])

Функция TRUNC возвращает число n, усеченное до m знаков после десятичной точки. Параметр m может не указываться — в этом случае n усекается до целого.

SELECT TRUNC(100.25678) X1, TRUNC(-100.25678) Х2, TRUNC(100.99) ХЗ, TRUNC(100.25678, 2) Х4
FROM DUAL

X1

X2

X3

X4

100

-100

100

100.25

Функция ROUND(n [,m])

Функция ROUND возвращает число n, округленное до m знаков после десятичной точки по правилам математического округления. Параметр m может не указываться — в этом случае n округляется до целого.

SELECT ROUND(100.25678) X1, ROUND(100.5) Х2, ROUND(100.99) ХЗ, ROUND(100.25678, 2) Х4
FROM DUAL

X1

X2

X3

X4

100

101

101

100.26

Функция SIGN(n)

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

SELECT SIGN(100.22) X1, SIGN(-100.22) Х2, SIGN(O) Х3
FROM DUAL

X1

Х2

ХЗ

1

-1

0

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

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

SELECT MOD(10, 3) X1, MOD(10, 2) X2, MOD(100, 0) X3
FROM DUAL

X1

Х2

ХЗ

1

0

100

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

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

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

SELECT POWER(10, 2) X1, P0WER(100, 1/2) Х2,
P0WER(1000, 1/3) Х3, P0WER(1000, -1/3) Х4
FROM DUAL

X1

Х2

ХЗ

Х4

100

10

10

0.1

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

SELECT POWER(-100, 1/2) Х2
FROM DUAL

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

Функция SQRT(n)

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

SELECT SQRT(1OO) X
FROM DUAL

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

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

SELECT EXP(2) X1, LN(1) Х2, LN(EXP(2)) Х3 FROM DUAL

X1

X2

Х3

2,71828182845905

0

2

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

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

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

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

X1

X2

3

2

 



<< ПредыдущаяОглавлениеСледующая >>