-- 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 ; -- 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 ; -- 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) ;
22138