Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL给出了错误的结果_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

SQL给出了错误的结果

SQL给出了错误的结果,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我刚刚经历了一场灾难 所以我试着自己计算并检查结果。。 但我得到的结果总是一个四舍五入的值。为什么 实际上我应该得到0.1428 @回答的每个人:谢谢大家,按照SO规则,我只能接受一个答案,所以接受最早的答案。试试看 select 2.0 / 14 如果使用整数,结果也将是整数。整数不是浮点数整数除法的结果2/14始终为0 请尝试2.0/14.0。您正在这样做 至少有一个操作数必须是浮点/十进制,才能使整个表达式计算为这些类型之一。请尝试以下操作: declare @a float set

我刚刚经历了一场灾难

所以我试着自己计算并检查结果。。 但我得到的结果总是一个四舍五入的值。为什么

实际上我应该得到0.1428

@回答的每个人:谢谢大家,按照SO规则,我只能接受一个答案,所以接受最早的答案。

试试看

select 2.0 / 14

如果使用整数,结果也将是整数。整数不是浮点数

整数除法的结果
2/14
始终为0

请尝试
2.0/14.0

您正在这样做

至少有一个操作数必须是浮点/十进制,才能使整个表达式计算为这些类型之一。

请尝试以下操作:

declare @a float
set @a = 2.0/14.0
select a=@a

选择2.0/14


需要小数点才能“触发”浮点值

5个答案!我需要更快地键入:(当然,所有答案中唯一隐含的一点是,当SQL Server计算一个操作时,它只考虑该操作中涉及的数据类型,而不计算将接收该计算结果的变量/列的类型。(这似乎部分是你所期望的)@Damien_The_unsiver:Explicit语句--“该操作涉及的数据类型”和“它不计算将接收该计算结果的变量/列的类型。”更有意义!谢谢