-1
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
(1)你为什么要做这个功能? (2)你为什么要将GPA存储为字符串? (3)[为什么你多次提问相同的问题](http://stackoverflow.com/questions/19484825/msg-8115-arithmetic-overflow-error-converting-numeric-to-data-type-numeric-and )? –
此链接返回的重复问题已被删除。看起来像过度热心的节制? – StuartQ