我想得到50作为输出而不是0。
答案 0 :(得分:8)
这是因为整数除法; 1/2 = 0
,0 * 100 = 0
。
使用1/2.0 * 100
代替
答案 1 :(得分:1)
这可能是因为SQL Server使用整数运算进行计算。 1/2的整数部分为0,并且0 * 100 = 0。
答案 2 :(得分:0)
它可能在1/2上进行整数除法,将其评估为0,因此整个语句为零。
答案 3 :(得分:0)
至少在C#,Java和VB.net中:整数算术。
为什么期望SQL在将表达式评估到其他语言方面有所不同?