Виправлення: помилка арифметичного переповнення під час перетворення виразу на тип даних INT

Виправлення: помилка арифметичного переповнення під час перетворення виразу на тип даних INT
помилка арифметичного переповнення при перетворенні виразу на тип даних int dateadd

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

У результаті певні частини вашої програми не працюватимуть належним чином, і це може спричинити додаткові проблеми. Тому важливо негайно вирішити цю проблему, і в цьому посібнику ми покажемо вам найкращі способи зробити це.

Що таке арифметична помилка переповнення при перетворенні виразу на тип даних int?

Ця помилка вказує на те, що значення SQL завелике і не може бути оброблено цілим типом даних. Якщо ваше значення перевищує 2 147 483 647, цілочисельний тип даних не зможе його обробити, і ви отримаєте згадану вище помилку.

Як виправити помилку арифметичного переповнення, перетворюючи вираз на тип даних int?

1. Перетворіть значення в бігінт

  1. Відкрийте свій код.
  2. Використовуйте наступний код:SELECT SUM(CAST(balance AS bigint)) FROM Accounts;
  3. Зберегти зміни.

За допомогою команди CAST ви конвертуєте результати з цілого типу даних у велике ціле число.

2. Змінити весь стовпець

  1. Відкрийте оболонку SQL.
  2. Тепер виконайте такі команди:ALTER TABLE your_table_nameALTER COLUMN balance BIGINT;
  3. Зберегти зміни.

Використовуючи ці команди, ви зміните тип даних усього стовпця з int на big int, таким чином збільшуючи максимальне підтримуване значення.

3. Замініть count на count_big

  1. Відкрийте свій код.
  2. Далі знайдіть рядок підрахунку, він повинен виглядати так:count(*) as count
  3. Замініть його таким: count_big(*) as count
  4. Збережіть зміни.

Помилка арифметичного переповнення при перетворенні виразу на тип даних int, помилка оператора завершена призведе до збою вашої програми, оскільки ваші змінні завеликі, але це можна легко вирішити, перетворивши їх.

Помилки сервера можуть бути серйозними, і ми вже розглядали помилку 0x80040e14 SQL Server в одному з наших попередніх посібників. Несумісна ОС також може викликати проблеми з SQL, і багато користувачів повідомили, що операційна система не підтримується повідомленнями SQL Server.

Чи ви коли-небудь стикалися з помилкою арифметичного переповнення під час перетворення виразу на тип даних int у SQL Server і як ви її виправили? Дайте нам знати в коментарях нижче!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *