Question
Solution
SQL
CREATE OR REPLACE FUNCTION sum_of_digits(v_num INTEGER)
RETURNS INTEGER AS $$
DECLARE
digit INTEGER;
sum INTEGER := 0;
num INTEGER := ABS(v_num);
BEGIN
WHILE num > 0 LOOP
digit := num % 10;
sum := sum + digit;
num := num / 10;
END LOOP;
RETURN sum;
END $$ LANGUAGE plpgsql;
3/3 test cases passed
No hidden test cases