我对一个我不理解的 SQL 查询有疑问:我正在使用带有剃刀语法的 WebMatrix。我想查询我的股票表,并以百分比的形式查找我的主要推动者中有多少股票。
在代码块中,我有:
var topmovers = db.QueryValue("select COUNT(STOCKCODE) from dbo.STOCK_ITEMS where STOCK_CLASSIFICATION = 170") ?? 0;
var instock = db.QueryValue("select COUNT(STOCKCODE) from dbo.STOCK_ITEMS where STOCK_CLASSIFICATION = 170 and TOTALSTOCK > 0") ?? 0;
var ofpc = instock/topmovers;`
然后在身体里,我有
@ofpc.ToString("P2")
它返回 0 或 100,具体取决于我使用变量instock
和topmovers
. 我想要一个百分比,而不是 100% 或 0%!
如果我去,@instock.ToString();
我会得到 862
如果我去,@topmovers.ToString();
我会得到 965
根据我的数学,862/965 是 0.8932 (89.32%)
ofpc
但是,当我输出它时,我得到了 0.00%@ofpc.ToString("P2")
我显然在某个地方错了......