Divide in SQL Server

2019-05-05 18:24发布

In SQL Server 2005 Express, the result is below

SELECT 100 / 15 --Result 6

But I wanna get approximate value 7 (like using calculator)

100 / 15 = 6.6666..

How to make it in SQL Server?

4条回答
Animai°情兽
2楼-- · 2019-05-05 18:58

You have to use decimal numbers e.g. 100 / 15.0. If you use integers the result is interpreted as an integer and truncated to the largest integer that is smaller than or equal to the result.

查看更多
The star\"
3楼-- · 2019-05-05 19:03

You want SQL Server to perform floating-point divison, as opposed to integer division. If you're using literal values, as in your example, suffix the denominator with .0 to force SQL Server to treat it as a floating-point value.

SELECT 100 / 15.0

Otherwise, make sure you declare your variables as FLOAT.

查看更多
Juvenile、少年°
4楼-- · 2019-05-05 19:08

SELECT cast(100 as float) / (15 as float)

查看更多
贪生不怕死
5楼-- · 2019-05-05 19:16

Try declaring variables as floats:

DECLARE @var1 FLOAT
DECLARE @var2 FLOAT
SET @var1 = 100
SET @var2 = 15
SELECT @var1 / @var2
查看更多
登录 后发表回答