Đối số 1:3 AS DECIMAL(19, 8)
Đối số 2:27 AS DECIMAL (18, 0)
- độ chính xác mặc định là 18, tỷ lệ mặc định là 0 (BIGINT
đã được chuyển đổi thành DECIMAL
do ưu tiên loại)
p1 = 19
p2 = 18
s1 = 8
s2 = 0
Hãy tính ví dụ 1:
precision: (19 - 8 + 0) + MAX(6, 8 + 18 + 1) = 38
scale: MAX(6, 8 + 18 + 1) = 27
Đối với tất cả các ví dụ của bạn, bạn sẽ luôn nhận được thang tối đa 27.
0.111111111111111111111111111 (27)
11.111111111111111111111111111 (27)
0.005488934750153684025643277 (27)
Toàn bộ phần chỉ có các chữ số cần thiết (1), (2), (1).
Đối với tôi mọi thứ đều hoàn toàn hợp lệ.
Câu trả lời này dựa trên kết quả của @Paul White
từ Decimal Truncation In division
.