SQL 服务器中的简单除法问题

Issue with simple division in SQL Server

我一定是个白痴什么的。我正在使用 Microsoft SQL Server 2008。我不会做简单的除法。 SELECT 200/600 returns 一个大肥鹅蛋(0.00)。然而,如果我做 600/200,它 returns 3. 我唯一能想到的是一些服务器设置。我在这里感觉很愚蠢。有人可以帮忙吗?

您使用的数字被解释为整数,因此这些值通常不是您所期望的。

试试这个...

select 200.0/600.0

您会看到 SQL 服务器将数字视为浮点数,因此会为您提供所需的结果。

或者你可以试试

select cast (200 as float) / cast (600 as float)

你会得到相同的结果 - 我在这里所做的就是明确地将值转换为浮点数。