sql >> Databasteknik >  >> RDS >> Sqlserver

Varför precisionen minskar när man multiplicerar summan till ett annat tal

Aggregera en numeric(18, 8) med SUM resulterar i datatypen numeric(38, 8) .

Hur den resulterande datatypen beräknas när man multiplicerar något med numeriska kan hittas här:Precision , Skala och Längd (Transact-SQL)

Datatypen för din konstant -1 är numeric(1, 0)

Precisionen är p1 + p2 + 1 =40
Skalan är s1 + s2 =8

Max precision är 38 och det ger dig numeric(38, 6) .

Läs mer om varför det är numeric(38, 6) här:Multiplikation och division med numerik



  1. Oracle ORA-12154-fel på lokal IIS, men inte med Visual Studio Development Server

  2. MySQL-fråga GRUPPER EFTER dag/månad/år

  3. PHP-session + MySQL-resurs

  4. Hur använder man CASE-funktionen i ORDER BY?