Argument 1:3 AS DECIMAL(19, 8)
Argument 2:27 AS DECIMAL (18, 0)
-- standardpræcision er 18, standardskala er 0 (BIGINT
blev konverteret til DECIMAL
på grund af typeprioritet)
p1 = 19
p2 = 18
s1 = 8
s2 = 0
Lad os for eksempel beregne 1:
precision: (19 - 8 + 0) + MAX(6, 8 + 18 + 1) = 38
scale: MAX(6, 8 + 18 + 1) = 27
For alle dine eksempler får du altid max 27 skala.
0.111111111111111111111111111 (27)
11.111111111111111111111111111 (27)
0.005488934750153684025643277 (27)
Hele delen tager kun nødvendige cifre (1), (2), (1).
For mig er alt fuldstændig gyldigt.
Dette svar er baseret på arbejde fra @Paul White
fra Decimal Truncation In division
.