Функции ROUND, TRUNC и MOD

Функции ROUND, TRUNC и MOD

Функция имеет входное и выходное значение. Входное значение функции называется аргументом. Ноль или более аргументов может быть передано на вход функции в качестве данных для обработки. В данном примере a, b, c являются входными аргументами функции F:

F( a, b, c, …) = результат.

Функции могут быть вложенной частью другой функции, например,

F1 (a, b, F2 (x, y), d),

где F2,

принимает два входных параметра x и y, и образует третий из четырех параметров функции F1. Функции могут работать со всеми доступными типами данных. Наиболее часто используемыми являются символьные, дата и числовые данные.

В Oracle есть два типа функций: однострочные и многострочные функции. Однострочные функции возвращают результат для каждой строки, а многострочные один результат для множества строк. В данном посте рассматриваются числовые функции – ROUND, TRUNC и MOD. Существует несколько типов однострочных функций, такие как символьные, числовые, дата, преобразования и общие. Функции ROUND, TRUNC и MOD относятся к функциям по работе с числовыми данными.

Функции по работе с числовыми данными – ROUND, TRUNC и MOD.

Существенным отличием между числовыми и другими функциями является то, что они принимают и возвращают только числовые данные. Oracle предоставляет числовые функции для решения тригонометрических, возведения в степень и логарифмических задач. Ниже рассматриваются три однострочных функций – ROUND, TRUNC и MOD:

Функция ROUND выполняет операцию округления числового значения на основе указанной десятичной точности. Возвращаемое значение округляется в большую или меньшую сторону в зависимости от числового значения значащей цифры в указанной позиции десятичной точности. Если заданная десятичная точность равна n, найденная цифра, значимая для округления (n + 1), помещается справа от десятичной точки. Если оно отрицательное, значимая для округления цифра находится в n местах до левых десятичных знаков (до точки). Если числовое значение значащей цифры больше или равно 5, происходит «округление вверх», иначе происходит «округление вниз». Функция ROUND принимает два параметра. Ее синтаксис:

ROUND (числовое значение, (десятичная точность)),

Описания десятичной точности

Десятичная точностьОкругление до символаДесятичная позиция
-31тысячи (n * 1000)
-22сотни (n * 100)
-13десятки (n * 10)
04единицы (n * 1)
15десятых (n ÷ 10)
26сотых (n ÷ 100)
37тысячных (n ÷ 1000)

Примеры использования функции ROUND:

SELECT round(2020.240352, 1) FROM dual;

SELECT round(2020.240352, 4) FROM dual;

SELECT round(2020.240352, -3) FROM dual;

SELECT round(2020.240352) FROM dual;

Функция TRUNC выполняет операцию усечения числового значения на основе указанной десятичной точности. Числовое усечение отличается от округления тем, что результирующее значение отбрасывает числа с указанной десятичной точностью и не округляет вверх или вниз, если десятичная точность положительна. Если заданная десятичная точность (n) отрицательна, входное значение обнуляется с n-й десятичной позиции. Функция TRUNC принимает два параметра. Ее синтаксис:

TRUNC (числовое значение, (десятичная точность)).

Примеры использования функции TRUNC:

SELECT trunc(2020.240352, 1) FROM dual;

SELECT trunc(2020.240352, 4) FROM dual;

SELECT trunc(2020.240352, -3) FROM dual;

SELECT trunc(2020.240352) FROM dual;

Функция MOD возвращает числовой остаток от операции деления. Функция MOD принимает два параметра: делимое и делитель, и выполняет операцию модульного деления. Ее синтаксис:

MOD (делимое, делитель)

Примеры использования функции MOD:

SELECT mod(7,2) FROM dual;

Результат:
1

SELECT mod(8,2) FROM dual;

Результат:
0

SELECT mod(21,2.7) FROM dual;

Результат:
2.1

SELECT mod(4,9) FROM dual;

Результат:
4

Leave a Reply

Your email address will not be published. Required fields are marked *