Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
49
Добавлен:
17.04.2018
Размер:
124.42 Кб
Скачать

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

Числовые функции оперируют с числовыми значениями, изменяя их в соответствии с требуемым алгоритмом. Представленные здесь функции обеспечивают выполнение общепринятых математических операций.

ROUND

Функция ROUND округляет числа с любой заданной точностью. Она имеет следующий синтаксис:

ROUND(входноe_значение, число_знаков_после_десятичной_точки)

Для использования функции ROUND (как и любой другой функции, модифицирующей значение) ей нужно передать значение, подлежащее модификации. Поскольку обычно это делается в операторе SELECT, функции передается имя столбца, содержащего модифицируемые значения, например:

SELECT product_name, ROUND(product_price, 0) FROM product;

Этот пример показывает один из наиболее распространенных способов применения функции ROUND, когда нужно округлить числа до целых значений. Другое применение — округление слишком точных значений, содержащих много знаков после десятичной точки, до рублей и копеек. Для этого потребуется указать точность, равную 2. Можно указывать любое число десятичных знаков, но некоторые значения имеют больше смысла, чем другие. Если указать отрицательное число, то функция ROUND начнет округление до десятичной точки, иначе говоря, числа будут округляться до ближайших десятков, сотен, тысяч и т. д.

Лучший способ увидеть связь между точностью, задаваемой в функции ROUND, и изменением, которое производится в обрабатываемом числе, — это применить функцию к числам, содержащим много десятичных знаков, воспользовавшись таблицей DUAL:

SELECT ROUND(1234.5678, 4) FROM DUAL;

SELECT ROUND(1234.5678, 3) FROM DUAL;

SELECT ROUND(1234.5678, 2) FROM DUAL;

SELECT ROUND(1234.5678, 1} FROM DUAL;

SELECT ROUND(1234.5678, 0) FROM DUAL;

SELECT ROUND(1234.5678, -1) FROM DUAL;

SELECT ROUND(1234.5678, -2) FROM DUAL;

SELECT ROUND(1234.5678, -3) FROM DUAL;

Результаты показаны в табл. 2.1.

Таблица 2.1

Результаты применения функции ROUND

Функция ROUND

Возвращаемое значение

ROUND (1234.5678, 4)

1234.5678

ROUND (1234.5678, 3)

1234.568

ROUND (1234.5678, 2)

1234.57

ROUND (1234.5678, 1)

1234.6

ROUND (1234.5678, 0)

1235

ROUND (1234.5678, -1)

1230

ROUND (1234.5678, -2)

1200

ROUND (1234.5678, -3)

1000

TRUNC

Функция TRUNC усекает число, понижая его точность. Различие между усечением и округлением проявляется, когда за последним из остающихся десятичных разрядов идет значение 5 и выше. Округление привело бы к увеличению содержимого последнего разряда на 1, тогда как при усечении этого не происходит (табл. 2.2).

Таблица 2.2

Результаты применения функции TRUNC

Функция TRUNC

Возвращаемое значение

TRUNC (1234.5678, 4)

1234.5678

TRUNC (1234.5678, 3)

1234.567

TRUNC (1234.5678, 2)

1234.56

TRUNC (1234.5678, 1)

1234.5

TRUNC (1234.5678, 0)

1234

TRUNC (1234.5678, -1)

1230

TRUNC (1234.5678, -2)

1200

TRUNC (1234.5678, -3)

1000

Соседние файлы в папке лекции оракл