Tôi có một bảng với một cột smallint có chứa tỷ lệ phần trăm như số nguyên (ví dụ, 50, 75, 85, vv)Tại sao SQL Server làm tròn kết quả của việc chia hai số nguyên?
Khi tôi chia cột này bởi 100, như trong
SELECT MY_COLUMN/100 AS PCT_AS_FRACTION
FROM MY_TABLE
sự kết quả được làm tròn đến số nguyên gần nhất. Ví dụ: Ví dụ, đối với một hàng có chứa số "50", tôi nhận được 0 là kết quả của tôi.
tôi có thể lặp lại điều này với một tuyên bố đơn giản:
SELECT 50/100 AS TEST_VALUE
Tại sao vậy, và làm thế nào tôi có thể nhận được chính xác hơn trong kết quả của tôi?
Chia cho 100.0 hoạt động.Giải thích đơn giản cho một vấn đề đơn giản. Cảm ơn :) – JosephStyons
Ngẫu nhiên, nhân 0,01 có tác dụng tương tự, và có lẽ là rõ ràng hơn. – JosephStyons
Thuật ngữ 'số nguyên nói' cụ thể là * cắt ngắn *. '75/100' vẫn trả về' 0'. Định nghĩa là chỉ cần loại bỏ bất kỳ phần phân đoạn nào khỏi số. – Rabid