Выбрать главу

не превосходящего х. Ниже приводится пример вычисления для чисел 5.8

и -5.2 соответственно:

□ SELECT FLOOR(5 .8 ), FL00R(-5.2)

FROM dual;

106 Глава 4

FLOOR(5.8) FLOOR(-5.2)

5 -6

Полом для 5.8 является 5, так как максимальным целым числом, не превосходящим

5.8, является именно 5. Полом для -5.2 является -6. Это связано

с тем, что -5.2 является отрицательным числом, поэтому наибольшим

целым числом, не превосходящим его, будет именно -6.

M O D ( )

Функция M0D(x, у) используется для вычисления остатка от деления х на у.

В следующем примере функция M0D() используется для вывода остатка от

деления 8 на 3 и 4 соответственно:

□ SELECT M0D(8, 3), M0D(8, 4)

FROM dual;

MOD(8,3) MOD(8,4)

2 0

Остаток от деления 8 на 3 равен 2; это связано с тем, что 3 дважды «укладывается

» в 8, и остается еще 2 - это и есть остаток. Остаток от деления 8

на 4 равен 0; это связано с тем, что 4 «укладывается» в 8 ровно два раза и

при этом остаток не возникает.

P O W E R ()

Функция POWER (х, у) используется для возведения числа х в степень у. В приведенном

ниже примере функция POWER () используется для возведения

числа 2 в степени 1 и 3 соответственно:

□ SELECT P0WER(2, 1), P0WER(2, 3)

FROM dual;

P0WER(2,1) P0WER(2,3)

2 8

Когда число 2 возводится в степень 1, это эквивалентно вычислению

2*1, что в результате дает 2; а число 2, возведенное в степень 3, эквивалентно

2*2*2, что в результате дает 8.

R O U N D 0

Функция R0UND(x [, у ]) используется для получения результата округления

числа х с точностью до (необязательный параметр) у десятичных знаков.

Если параметр у опущен, число х будет округлено до целого числа. Если

задано отрицательное значение у, округление будет осуществляться влево

от десятичной точки.

В следующем примере R0UND() используется для показа результатов

округления чисел 5.75 до нуля, 1 и -1 десятичных разрядов соответственно:

□ SELECT R0UND(5 .75), R0UND(5.75, 1), R0UND(5.75, -1)

FROM dual;

Использование простых функций 107

ROUND(5.75) R0UND(5.75,1) R0UND(5.7 5 ,-1 )

6 5.8 10

Округление 5.75 до целого числа дает 6, округление с одним десятичным

знаком дает 5.8, а округление 5.75 до первого знака слева от десятичной

точки (на что указывает отрицательный знак параметра) дает 10.

S IG N ( )

Функция SIGN(x) используется для получения знака числа х. SIGN() возвращает

-1, если х является отрицательным, 1, если х положителен, и 0, если

х равен 0. В приведенном ниже примере показаны знаки чисел -5, 5 и 0,

со ответственно:

□ SELECT SIGN(—5), SIGN(5), SIGN(0)

FROM dual;

SIGN(-5 ) SIGN(5) SIGN(0)

- 1 1 0

Знак числа -5 равен -1, знак числа 5 равен 1, а знак 0 равен 0.

S Q R T ( )

Функция SQRT(x) используется для вычисления квадратного корня из х.

Следующий пример показывает значения квадратного корня из чисел 25 и

5 соответственно:

□ SELECT SQRT(25), SQRT(5)

FROM dual;

SQRT(25) SQRT(5)

5 2.23606798

Квадратный корень из 25 равен 5, а квадратный корень из 5 равен приблизительно

2.236.

T R U N C ( )

Функция TRUNC(x [, у ]) используется для получения результатов усечения

числа х до (необязательный параметр) у десятичных разрядов. Если параметр

у опущен, х усекается до 0 десятичных знаков (то есть до целых чисел).

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

десятичной точки. В следующем примере показано усечение числа 5.75 до

нуля, 1 и -1 десятичных знаков:

□ SELECT TRUNC(5.75), TRUNC(5.75, 1), TRUNC(5.75, -1)

FROM DUAL;

TRUNC(5.75) TRUNC(5. 75,1) TRUNC(5.75,-1)

5 5.7 0

108 Глава 4

Усечение 5.75 до нуля десятичных знаков дает 5. Усечение 5.75 до 1 десятичного

знака вправо дает 5.7. Усечение 5.75 до 1 десятичного знака влево от

десятичной точки (на это указывает отрицательный знак параметра) дает 0.

Функции конвертирования

Иногда нужно конвертировать значение из одного типа данных в другой,

например преобразовать цену товара, которая хранится как число (скажем,

1346.95), в строку, содержащую знак доллара и запятые ($1,346.95).

Для преобразования значений из одного типа данных в другой используются

функции конвертирования.

В таблице 4.3 перечислены некоторые функции конвертирования.

В следующих разделах будут более подробно рассмотрены функции Т0_

CHAR() и T0_NUMBER(). О других функциях конвертирования из таблицы 4.3

вы узнаете в последующих главах книги. Дополнительную информацию о

национальных языковых наборах символов и Unicode вы можете получить

из руководства Oracle Database Globalization Support Guide корпорации

Oracle.

Таблица 4.3. Функции конвертирования

Функция Определение