У Microsoft SQL Server ROUND поводиться подібно до Oracle при роботі з числовими значеннями. Але одним унікальним аспектом SQL Server є його третій параметр — функція, — який дозволяє користувачам вказати, чи хочуть вони округлити число (функція = 0 або опущена) чи обрізати його (функція = 1).
Функція SQL Server ROUND().
- Приклад Отримайте власний SQL Server. Округліть число до 2 знаків після коми: SELECT ROUND(235.415, 2) AS RoundValue;
- приклад. Округліть число до 2 знаків після коми, а також використовуйте параметр операції: SELECT ROUND(235.415, 2, 1) AS RoundValue; …
- приклад. Округліть число до -1 знака після коми:
Таким чином, циклічна залежність виникає лише після створення другого стовпця. Правильним рішенням, щоб цього уникнути, є обмежити список стовпців, від яких залежить обчислюваний стовпець, використовуючи ALLEXCEPT або REMOVEFILTERS і зберігаючи лише первинний ключ таблиці.
Рішення полягає в тому, щоб використовувати функцію ROUND().. Ця функція приймає два аргументи: число, яке потрібно округлити, і кількість десяткових знаків, до яких потрібно округлити. Наприклад, якщо ви хочете округлити число 3,14159 до двох знаків після коми, ви повинні використати такий запит: SELECT ROUND(3,14159, 2);
Відповідно до цього правила, якщо десяткова частина рівна 0,5, функція округлить до найближчого цілого числа. Таким чином, якщо округлити 4,5, результат буде 5. З іншого боку, якщо значення від’ємне, функція округлення дотримується правила «округлення наполовину».