Проблеми округлення в десяткових числах в SQL

Автор: John Pratt
Дата Створення: 16 Січень 2021
Дата Оновлення: 1 Липня 2024
Anonim
Проблеми округлення в десяткових числах в SQL - Статті
Проблеми округлення в десяткових числах в SQL - Статті

Зміст

Мова SQL автоматично окружує цифри, якщо стовпець таблиці, в якому ви збережете, дозволяє лише певну точність десяткових знаків. Ви можете працювати з проблемами з точністю, використовуючи функцію SQL "round". Ця функція дозволяє контролювати, як SQL зберігає числові значення в таблицях бази даних.


Дізнайтеся, як округлити числа в SQL (Hemera Technologies / AbleStock.com / Getty Images)

Проблема

Ви помітите проблему округлення SQL при перегляді даних у таблицях. Відображене числове значення не збігається з тим, що ви зберегли за допомогою команди "вставити". Типи даних стовпців SQL дозволяють встановити точність десяткової крапки. Якщо ви хочете мати лише два десяткових знака і спробувати зберегти число з трьома, SQL округлює значення.

Структура таблиці

Ви можете змінити тип даних стовпця за допомогою редактора таблиць SQL. Ви можете редагувати ваші таблиці в Microsoft SQL Server Management Studio, яка поставляється з SQL Server. Клацніть правою кнопкою миші на таблиці та виберіть "Змінити". Виберіть точність у списку типів даних стовпців, щоб збільшити кількість десяткових знаків і виправити проблему округлення.


Кругла функція

Якщо ви не бажаєте змінювати тип даних таблиці, скористайтеся функцією округлення, щоб змінити поведінку цифрового зберігання. Закрутіть вгору, вниз або дайте функції виконувати стандартне округлення десяткових значень. Наприклад, наступний код завершується:

круглий (колонка 2, -1)

Ця функція округляється в два знаки після коми, завжди вгору. Видалення параметра "-1" призводить до того, що SQL виконує стандартне округлення, тобто, якщо значення більше або дорівнює "5", і вниз, якщо значення нижче.

Міркування

Коли ви змінюєте поведінку округлення в SQL, необхідно також перевірити будь-який стовпець, який має суму округлих чисел. Цей стовпець буде мати неправильне значення, тому вам потрібно буде перерахувати суму, щоб виправити помилки.