LISTING 2: The dbo.fn_cast9() Function Implemented with Loops CREATE FUNCTION dbo.fn_cast9(@num AS int) RETURNS int AS BEGIN IF @num < 0 OR @num IS NULL RETURN NULL DECLARE @curnum AS int, @result AS int SET @curnum = @num SET @result = @num WHILE @result >= 10 BEGIN SET @result = 0 WHILE @curnum > 0 BEGIN SET @result = @result + @curnum % 10 SET @curnum = @curnum / 10 END SET @curnum = @result END RETURN @num * 10 + @result END