не превосходящего х. Ниже приводится пример вычисления для чисел 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. Функции конвертирования
Функция Определение