Argument 1:3 AS DECIMAL(19, 8)
Argument 2:27 AS DECIMAL (18, 0)
-- výchozí přesnost je 18, výchozí měřítko je 0 (BIGINT
byl převeden na DECIMAL
kvůli prioritě typu)
p1 = 19
p2 = 18
s1 = 8
s2 = 0
Počítejme například 1:
precision: (19 - 8 + 0) + MAX(6, 8 + 18 + 1) = 38
scale: MAX(6, 8 + 18 + 1) = 27
Pro všechny vaše příklady dostanete vždy max. 27 měřítko.
0.111111111111111111111111111 (27)
11.111111111111111111111111111 (27)
0.005488934750153684025643277 (27)
Celá část zabírá pouze nezbytné číslice (1), (2), (1).
Pro mě je vše naprosto platné.
Tato odpověď je založena na práci @Paul White
od Decimal Truncation In division
.