sql >> Database >  >> RDS >> Sqlserver

Rekenkundige overloopfout bij het converteren van numeriek naar gegevenstype numeriek

Ik vermoed dat je probeert een getal groter dan 99999,99 in je decimale velden te persen. Het veranderen naar (8,3) zal niets doen als het groter is dan 99999.999 - je moet het aantal cijfers verhogen voor het decimaal. U kunt dit doen door de precisie te verhogen (dit is het totale aantal cijfers voor en achter de komma). U kunt de schaal hetzelfde laten, tenzij u moet wijzigen hoeveel decimalen u wilt opslaan. Probeer decimal(9,2) of decimal(10,2) of wat dan ook.

Je kunt dit testen door commentaar te geven op de insert #temp en kijk welke getallen de select-opdracht je geeft en kijk of ze groter zijn dan je kolom aankan.



  1. Oracle-tabelgroei voorspellen

  2. Hoe u alle tabellen met identiteitskolom in SQL Server-database kunt vinden - SQL Server / T-SQL-zelfstudiedeel 45

  3. MySQL - selecteer rang voor gebruikers in een scoretabel

  4. JOIN en GROUP_CONCAT met drie tabellen