sql >> Databasteknik >  >> RDS >> Sqlserver

Aritmetiskt spillfel vid konvertering av numerisk till datatyp numerisk

Min gissning är att du försöker klämma in ett tal större än 99999,99 i dina decimalfält. Att ändra det till (8,3) kommer inte att göra någonting om det är större än 99999.999 - du måste öka antalet siffror före decimalen. Du kan göra detta genom att öka precisionen (vilket är det totala antalet siffror före och efter decimalen). Du kan lämna skalan densamma om du inte behöver ändra hur många decimaler som ska lagras. Försök med decimal(9,2) eller decimal(10,2) eller vad som helst.

Du kan testa detta genom att kommentera insert #temp och se vilka siffror som select-satsen ger dig och se om de är större än din kolumn kan hantera.



  1. Hur RPAD() fungerar i MariaDB

  2. Ta bort SCHEMABINDING från en användardefinierad funktion i SQL Server

  3. Oracle Create View-problem

  4. hur får man PL/SQL i SQLFiddle?