Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Błąd przepełnienia arytmetycznego podczas konwersji danych liczbowych na dane liczbowe

Domyślam się, że próbujesz wcisnąć w pola dziesiętne liczbę większą niż 99999,99. Zmiana na (8,3) nic nie da, jeśli jest większa niż 99999,999 - musisz zwiększyć liczbę cyfr przed ułamek dziesiętny. Możesz to zrobić, zwiększając precyzję (czyli całkowitą liczbę cyfr przed i po przecinku). Skalę można pozostawić bez zmian, chyba że trzeba zmienić liczbę miejsc dziesiętnych do przechowywania. Wypróbuj decimal(9,2) lub decimal(10,2) czy cokolwiek.

Możesz to przetestować, komentując insert #temp i zobacz, jakie liczby daje instrukcja select i sprawdź, czy są one większe niż może obsłużyć Twoja kolumna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sterownik ODBC PHP 7.0 dla Windows

  2. określenie zestawu znaków tabeli/bazy danych?

  3. Funkcja podziału w SQL Server 2008

  4. System.AccessViolationException w .NET 4.0 podczas łączenia się z bazą danych SQL

  5. Jak codziennie uruchamiać procedurę składowaną w SQL Server Express Edition?