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
num NUMBER;
rev NUMBER;
BEGIN
num:=#
rev:=0;
WHILE num>0 LOOP
rev:=(rev*10) + mod(num,10);
num:=floor(num/10);
END LOOP;
DBMS_OUTPUT.PUT_LINE( 'Reverse of the number is: ' || rev);
END ;
/
|
Output:
Enter value for num : 157439
Reverse of the number is: 934751
Last Updated :
20 Nov, 2019
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...