Argument 1:3 AS DECIMAL(19, 8)
Argument 2:27 AS DECIMAL (18, 0)
-- standaard precisie is 18, standaard schaal is 0 (BIGINT
is geconverteerd naar DECIMAL
vanwege typevoorrang)
p1 = 19
p2 = 18
s1 = 8
s2 = 0
Laten we bijvoorbeeld 1 berekenen:
precision: (19 - 8 + 0) + MAX(6, 8 + 18 + 1) = 38
scale: MAX(6, 8 + 18 + 1) = 27
Voor al je voorbeelden krijg je altijd max. 27 schaal.
0.111111111111111111111111111 (27)
11.111111111111111111111111111 (27)
0.005488934750153684025643277 (27)
Het hele deel bevat alleen de noodzakelijke cijfers (1), (2), (1).
Voor mij is alles perfect geldig.
Dit antwoord is gebaseerd op het werk van @Paul White
van Decimal Truncation In division
.