# Reverse 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.

**Explanation: **

Consider the example, input = 12345.

Step 1 : mod(12345,10) = 5

rev:= 0*10 + 5 = 5

num = floor(12345/10) = 1234

Step 2 : mod(1234,10) = 4

rev:= 5*10 + 4 = 54

num = floor(1234/10) = 123

Step 3 : mod(123,10) = 3

rev:= 54*10 + 3 = 543

num = floor(123/10) = 12

Step 4 : mod(12,10) = 2

rev:= 543*10 + 2 = 5432

num = floor(12/10) = 1

Step 5 : mod(1,10) = 1

rev:= 5432*10 + 1 = 54321

num = floor(1/10) = 0

in step 5, num =0 which doesn’t satisfy the while condition and loop terminates.

rev = 54321

More examples:

Input : 123456 Output :654321

Input :87459 Output :95478

Below is the required implementation:

`SET` `SERVEROUTPUT ` `ON` `; ` `DECLARE` `-- declare a number 'num' for reading actual input ` `-- declare another number 'rev' that would be reverse of num ` `num NUMBER; ` `rev NUMBER; ` ` ` `BEGIN` `-- & is used to read input from keyboard ` `num:=# ` `-- initialize rev to 0 ` `rev:=0; ` `-- the loop runs until num is greater than 0 ` `WHILE num>0 LOOP ` `-- mod function is used to find the modulus/ remainder of num when divided by 10 ` ` ` `rev:=(rev*10) + mod(num,10); ` `-- floor function is used to obtain a result which is an integer ` `num:=floor(num/10); ` `END` `LOOP; ` `DBMS_OUTPUT.PUT_LINE(` `'Reverse of the number is: '` `|| rev); ` `END` `; ` `/ ` ` ` `-- Program End ` |

*chevron_right*

*filter_none*

** Output:**

Enter value for num : 157439 Reverse of the number is: 934751

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: **DSA Self Paced**. Become industry ready at a student-friendly price.

## Recommended Posts:

- PLSQL | CHR Function
- PLSQL | ABS Function
- Difference between SQL and PLSQL
- PLSQL : || Operator
- PLSQL | SIN Function
- PLSQL | COS Function
- PLSQL | TAN Function
- PLSQL | EXP Function
- PLSQL | LN Function
- PLSQL | LEAST Function
- PLSQL | MOD Function
- PLSQL | LOG Function
- PLSQL | LENGTHB Function
- PLSQL | SIGN Function
- PLSQL | ASCIISTR Function
- PLSQL | CONVERT Function
- PLSQL | TANH Function
- PLSQL | LENGTHC Function
- PLSQL | DUMP Function
- PLSQL | ADD_MONTHS Function

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.