# Sum of digits of a number in PL/ SQL

Prerequisite PL/SQL introduction
In PL/SQL code groups of commands are arranged within a block. A block group related declarations or statements. In declare part, we declare variables and between begin and end part, we perform the operations.

Given a number and task is to find the sum of digits of the number.
Examples:

```Input: 123456
Output: 21

Input: 9874
Output: 28
```

Approach is to take a number and getting each digit with MOD function and summing it up.

Below is the required implementation:

 `DECLARE`  ` `  `    ``--Declare variable n, temp_sum   ` `    ``-- and r of datatype number  ` `    ``n        ``INTEGER``;  ` `    ``temp_sum ``INTEGER``;  ` `    ``r        ``INTEGER``;  ` `BEGIN`  `    ``n := 123456;  ` `    ``temp_sum := 0;  ` ` `  `    ``-- here we check condition with the help of while loop  ` `    ``-- here <> symbol represent for not null  ` `    ``WHILE n <> 0 LOOP  ` `        ``r := MOD(n, 10);  ` `        ``temp_sum := temp_sum + r;  ` `        ``n := Trunc(n / 10);  ` `    ``END` `LOOP;  ` `    ``dbms_output.Put_line(``'sum of digits = '`  `                         ``|| temp_sum);  ` `END``;  ` `-- Program End  `

Output:

```sum of digits = 21
```

This article is attributed to GeeksforGeeks.org

## tags:

SQL SQL-PL/SQL SQL

code

load comments