Use PLSQL to sort strings, and plsql to sort strings
1. Create a Function program
Create or replace function sort_string (p_string IN VARCHAR2) RETURN VARCHAR2 is type typ_rec is record (letter VARCHAR2 (256), -- RECORD letter seq PLS_INTEGER -- RECORD letter occurrences ); TYPE tab_rec is table of typ_rec index by BINARY_INTEGER; tabr tab_rec; l_result VARCHAR2 (32767); begin for I IN 1 .. length (p_string) LOOP tabr (ascii (substr (p_string, I, 1 ))). letter: = substr (p_string, I, 1); tabr (ascii (substr (p_string, I, 1 ))). seq: = nvl (tabr (ascii (substr (p_string, I, 1 ))). seq, 0) + 1; end loop; FOR I IN tabr. first .. tabr. last loop if tabr. exists (I) THEN l_result: = l_result | rpad (tabr (I ). letter, tabr (I ). seq, tabr (I ). letter); end if; end loop; RETURN l_result; END;
2. Usage
Example 1:
SQL> SELECT sort_string ('43258888') FROM DUAL; SORT_STRING('43258888')--------------------------------------------------------------------------------23458888
Example 2:
SQL> SELECT sort_string ('klaktkky') FROM DUAL; SORT_STRING('KLAKTKKY')--------------------------------------------------------------------------------akkkklty
Address: http://blog.csdn.net/sunansheng/article/details/46331485