Tại sao CHỌN 1/2 trả về 0?


Câu trả lời:


29

Chúng là số nguyên.

Thử:

select 1.0/2.0;

Hoặc là:

select CONVERT(NUMERIC,1)/CONVERT(NUMERIC,2);

14

Đầu tiên, bạn đang thực hiện các số dưới dạng số nguyên nhưng thứ hai, bạn cũng chưa xác định độ chính xác và tỷ lệ của kiểu dữ liệu số .

Thử đi:

SELECT CONVERT(NUMERIC(5, 2), 1.0/2.0)

hoặc thậm chí

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.