Check if a number is Palindrome in PL/SQL

Given an integer, write a function that returns true if the given number is palindrome, else false. For example, 12321 is palindrome, but 1451 is not palindrome.

Let the given number be num. A simple method for this problem is to first reverse digits of num, then compare the reverse of num with num. If both are same, then return true, else false.

Examples:

Input : 12221
Output : true

Input : 12345
Output : false

Below is the required implementation:

declare

-- declare variable n, m, temp 
-- and temp of datatype number
    n number;
    m number;
    temp number:=0;
    rem number;
 
begin
    n:=5432112345;
    m:=n;
    
    -- while loop with condition till n>0
    while n>0
    loop
        rem:=mod(n,10);
        temp:=(temp*10)+rem;
        n:=trunc(n/10);
    end loop; -- end of while loop here
    
    if m = temp
    then
        dbms_output.put_line('true');
    else
        dbms_output.put_line('false');
    end if;
end;
/

-- Program End

Output:

true




Check out this Author's contributed articles.

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 write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.

Recommended Posts:



0 Average Difficulty : 0/5.0
No votes yet.