Argument 1:3 AS DECIMAL(19, 8)
Argument 2:27 AS DECIMAL (18, 0)
-- standardprecisionen är 18, standardskalan är 0 (BIGINT
konverterades till DECIMAL
på grund av typprioritet)
p1 = 19
p2 = 18
s1 = 8
s2 = 0
Låt oss till exempel beräkna 1:
precision: (19 - 8 + 0) + MAX(6, 8 + 18 + 1) = 38
scale: MAX(6, 8 + 18 + 1) = 27
För alla dina exempel får du alltid max 27 skala.
0.111111111111111111111111111 (27)
11.111111111111111111111111111 (27)
0.005488934750153684025643277 (27)
Hela delen tar bara nödvändiga siffror (1), (2), (1).
För mig är allt fullt giltigt.
Det här svaret är baserat på arbete av @Paul White
från Decimal Truncation In division
.