Sql server SQL Visual Studio-在查询计算中使用参数
在我的SQLVisualStudio报告中,我有一个参数向用户请求百分比。我想取他们输入的数字,并在计算中用于过滤记录 示例: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.
输入的百分比为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
——我想明确指出,我期望的是浮点除法,而不是整数。