Reverse String
-- To reverse string/number the REVERSE('123456') or REVERSE('HELLO') will work 
-- [left to right] 123456 => [right to left] 654321 

SELECT  REVERSE('123456') ref_number,   REVERSE('HELLO') ref_str
FROm DUAL
;

Reverse Function

-- Script to reverse order of digits or string and convert to number

WITH q_tab AS
(SELECT 123456 as ref_number
 FROM DUAL
),
 q_str AS 
( SELECT
    level  idx,
    SUBSTR(q_tab.ref_number,level,1)  num_left_2_right, 
    SUBSTR(q_tab.ref_number,LENGTH(q_tab.ref_number)-level+1,1)  num_right_2_left 
  FROM  q_tab
  CONNECT BY level <= LENGTH(q_tab.ref_number)
)
SELECT
  q_str.idx
  ,TO_NUMBER(q_str.num_left_2_right)  num_l_2_r
  ,TO_NUMBER(q_str.num_right_2_left)  num_r_2_l
FROM q_str
;

Reverse Number

-- HELLO => OLLEH

WITH q_tab AS
(SELECT 'HELLO' as ref_string
 FROM DUAL
)
SELECT
 level  idx,
 SUBSTR(q_tab.ref_string,level,1)  digit_left_2_right, 
 SUBSTR(q_tab.ref_string,LENGTH(q_tab.ref_string)-level+1,1)  digit_right_2_left 
FROM  q_tab
CONNECT BY level <= LENGTH(q_tab.ref_string)
;

Reverse Number


  Miscellaneous Queries   SQL Functions

Oracle registered trademark of Oracle Corporation.

Last Revised On: May 31st, 2019

  23758