ALTER FUNCTION [dbo].[avgGpa]()
RETURNS decimal(3,2)
AS
BEGIN
DECLARE @CalcGPA decimal(10,2)
DECLARE @CalcGPA2 decimal(3,2)
SELECT @CalcGPA = SUM(cast(GPA AS decimal(10,2))) from dbo.Students
SELECT @CalcGPA2 = cast(ROUND((@CalcGPA / 1000),2) AS decimal(3,2))
RETURN @CalcGPA2
END
答案 0 :(得分:1)
提供更高的精确度值。
ALTER FUNCTION [dbo].[avgGpa]()
RETURNS decimal(15,2)
答案 1 :(得分:0)
通过将精度大于精度的值转换为转换值来引发错误。
以下是重现错误的示例:
declare @d10 decimal(10,2)=12345678.12
select CAST(@d10 as decimal(3,2))