为什么sql server在1/2时返回0?

发布时间 2024-01-05 18:34:41作者: yinghualeihenmei

原文链接:http://cn.voidcc.com/question/p-ysebrehb-rq.html

select  cast(1/2 as decimal(9,2)) 也返回0

原因:

整数除法

select 1/2 
-- 0 

浮法分裂(至少有一个参数必须是浮/十进制):

select 1/2.0 
-- 0.5 

select 1.0/2 
-- 0.5 

select 1.0/2.0 
-- 0.5 

如果整数被除数是除以整数除数,结果是 一个整数,其结果的任何小数部分被截断。