我通过取消强制转换功能得到了错误的结果。它应该很简单,但我无法弄清楚。需要帮助。
SELECT PRCo, Employee, LastName, FirstName, MidName, SortName, SSN, HireDate, DATEDIFF(month, HireDate, GETDATE()) / 12 AS Years,
CAST((80/2080) as decimal(10, 5))
FROM AAAA
80/2080
列应为0.038470
,但对所有记录显示0.00000
答案 0 :(得分:4)
在演员之前进行分割操作。除以两个整数后,结果也是一个整数,表示任何小数部分都被截断。在这种情况下,结果会留下0
。零投射到decimal(10,5)
仍然只是0.00000
。
这应该给出正确的结果:
CAST((80/2080.0) as decimal(10, 5))
答案 1 :(得分:0)
CAST(80 as decimal(10, 5))/2080