Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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 server SQL Visual Studio-在查询计算中使用参数_Sql Server_Visual Studio 2012 - Fatal编程技术网

Sql server SQL Visual Studio-在查询计算中使用参数

Sql server SQL Visual Studio-在查询计算中使用参数,sql-server,visual-studio-2012,Sql Server,Visual Studio 2012,在我的SQLVisualStudio报告中,我有一个参数向用户请求百分比。我想取他们输入的数字,并在计算中用于过滤记录 示例:输入的百分比为80(@Pct) 在我的查询设计器中,我想将字段“Capacity”乘以@Pct,然后只显示=>到该容量的记录“NBR项” 如果我硬编码百分比,我可以做到这一点,但我不知道如何使百分比成为可变金额。为什么不使用Like Select * from Table_Name Where NbrItems >= (Capacity * (@Pct / 100.

在我的SQLVisualStudio报告中,我有一个参数向用户请求百分比。我想取他们输入的数字,并在计算中用于过滤记录

示例:
输入的百分比为80(@Pct)

在我的查询设计器中,我想将字段“
Capacity
”乘以
@Pct
,然后只显示
=>
到该容量的记录“
NBR项


如果我硬编码百分比,我可以做到这一点,但我不知道如何使百分比成为可变金额。

为什么不使用Like

Select * from Table_Name Where NbrItems >= (Capacity * (@Pct / 100.0))

“SQL Visual Studio report”…这是什么?您尝试过吗?它应该是
(容量*(@Pct/100.0))
,因为值应该是
80
。除以100将其转换为
0.80
,这是计算百分比的正确方法。是否存在这两个公式产生不同结果的情况?不,我是问
(Capacity*@Pct/100)
如何产生与
Capacity*(@Pct/100)
不同的结果,事实上,我的答案是,
Where nbroitems>=(Capacity*@Pct)
和@KEN指出我没有除以100(nbroitems>=(Capacity*@Pct/100)`。对不起:)@。我倾向于使用括号来确保操作的优先性(并且在一年后我(或其他人)看到它时,说明我的意图是什么)。这也是为什么我使用了
100.0
,而不仅仅是
100
——我想明确指出,我期望的是浮点除法,而不是整数。