当我运行查询:SQL Server部门查询
select (100/50)
它给我2 - 不错。
但是当我运行查询:
select (50/100)
我预计它会给我0.5 ...但它给我0呢?为什么?如何获得0.5?
select (25/(30))*100
我预计它会给我83.33,但它也给出0而不是?
当我运行查询:SQL Server部门查询
select (100/50)
它给我2 - 不错。
但是当我运行查询:
select (50/100)
我预计它会给我0.5 ...但它给我0呢?为什么?如何获得0.5?
select (25/(30))*100
我预计它会给我83.33,但它也给出0而不是?
当你把两个整数,结果是一个整数一样,所以50%/ 100 = 0.5,是0
的整数为了得到一个小数点,或者写:
Select 50.0/100
或铸造OA十进制整数 - 即
SELECT (CAST(20 AS DECIMAL(5,1))/30)
SQL Server将您的数字视为int并给出一个int结果。
尝试
select 100.0/50
select (25.0/(30))*100
试试这个:
select (50/100.0)
使用一个整数除法会导致零如果结果小于1,因为integer
值只能是圆的数字。
0.99
将导致较低的值= 0
3.876
将导致3
等。
使用decimal
变量来获得你想要的结果。您可以轻松地做到这一点通过使用你的号码一个.
:100.0