sql >> Database teknologi >  >> RDS >> Sqlserver

Aritmetisk overløbsfejl ved konvertering af varchar til datatype numerisk. '10' <=9.00

Dette genererer et aritmetisk overløb, fordi det forsøger at implicit caste Val kolonne til en NUMERISK(3,2), som naturligvis vil flyde over på en 2-cifret værdi som 10.

Den bruger NUMERIC(3,2) som måltype og -størrelse, fordi det er den mindste numeriske, der 9.00 ser ud til at passe ind.

Løsningen er selvfølgelig at bruge eksplicit CASTing i stedet for at gøre det implicit



  1. Alternativ til databasedesign med opregnede kolonner, hvilket fører til dårlige præstationer

  2. oprette EJB Provider javax.persistence.PersistenceContext.synchronization()Ljavax/persistence/SynchronizationType

  3. Oracle ændre tabel utilstrækkelige privilegier

  4. Kan ikke udlæse relevante mysql-oplysninger til det klikkede link ved hjælp af SELECT *FROM-tabellen WHERE-variabel LIKE '$variable'