Dan*_*ish 2 sql-server sql-server-2008
当我运行查询时:
select (100/50)
Run Code Online (Sandbox Code Playgroud)
它给了我2 - 好.
但是当我运行查询时:
select (50/100)
Run Code Online (Sandbox Code Playgroud)
我原以为它会给我0.5 ......但它给了我0呢?为什么?我怎样才能得到0.5?
select (25/(30))*100
Run Code Online (Sandbox Code Playgroud)
我被期待它会给我83.33,但它也给0?
当你除以两个整数时,结果也是一个整数,所以50/100是0.5,这是一个0的整数.
要获得小数点,请写:
Select 50.0 / 100
Run Code Online (Sandbox Code Playgroud)
或者转换小数的整数 - 即
SELECT (CAST(20 AS DECIMAL(5,1))/30)
Run Code Online (Sandbox Code Playgroud)