作为十进制投射不给我正确的结果

时间:2010-07-09 20:38:11

标签: sql-server casting

我从以下演员获得了0.00000的结果

Secs_in_month = 2592000
total_fault_time_sum = 99

cast(((Secs_in_Month - total_fault_time_sum) / Secs_in_Month) as decimal(18,5)) AS availability

结果应为0.99996

我在这里做错了什么想法?

非常感谢

1 个答案:

答案 0 :(得分:5)

在分裂前施放:

cast((Secs_in_Month - total_fault_time_sum) as decimal(18,5)) / Secs_in_Month AS availability

否则,你仍在进行整数除法,只是转换结果。