This website is for reference purposes only. Users are responsible for any misuse. The owner is not liable for any consequences.

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