Điều này khiến tôi phải đọc và câu trả lời dường như không hài lòng rõ ràng. Tham chiếu SQL sớm nhất mà tôi có thể tìm thấy (ANSI 92 có sẵn tại đây ) trong phần 4.4.1 Đặc điểm của số nói rằng
Điều đó để lại cho Microsoft cái nào trong số hai cái mà họ chọn để triển khai cho T-SQL và tôi cho rằng vì đơn giản, họ đã chọn cách cắt bớt. Từ bài viết wikipedia về làm tròn có vẻ như đây không phải là một quyết định phổ biến trong ngày.
Thật thú vị khi lưu ý rằng, theo tài liệu tôi tìm thấy, chỉ các chuyển đổi thành số nguyên mới gây ra cắt ngắn, các chuyển đổi khác gây ra làm tròn. Mặc dù vì một số lý do kỳ lạ, việc chuyển đổi từ money
thành integer
dường như đi ngược lại xu hướng khi nó được phép thay đổi.
From To Behaviour
numeric numeric Round
numeric int Truncate
numeric money Round
money int Round
money numeric Round
float int Truncate
float numeric Round
float datetime Round
datetime int Round
Bảng từ tại đây .