Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Грешка при аритметично препълване при преобразуване на числови в числови тип данни

Предполагам, че се опитвате да вмъкнете число, по-голямо от 99999,99 във вашите десетични полета. Промяната му на (8,3) няма да направи нищо, ако е по-голямо от 99999,999 - трябва да увеличите броя на цифрите преди десетичната запетая. Можете да направите това, като увеличите точността (която е общият брой цифри преди и след десетичната запетая). Можете да оставите скалата същата, освен ако не трябва да промените колко знака след десетичната запетая да съхранявате. Опитайте decimal(9,2) или decimal(10,2) или каквото и да било.

Можете да тествате това, като коментирате insert #temp и вижте какви числа ви дава операторът select и вижте дали са по-големи, отколкото може да обработи вашата колона.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да вмъкнете редове в таблица на SQL Server чрез GUI за редактиране на редове на таблица - SQL Server / TSQL урок, част 101

  2. Най-лесният начин да получите общ брой и брой на подмножество?

  3. Как се съхраняват стойностите на varchar в база данни на SQL Server?

  4. Основната файлова група е пълна в SQL Server 2008 Standard без видима причина

  5. Достъп до съобщенията на SQL Server чрез ADO.NET