WITH temp0 AS
(SELECT LEVEL lv FROM dual CONNECT BY LEVEL <= 100)SELECT MAX(REPLACE(sys_connect_by_path(str, ' '), ' ', '')) f1
FROM (SELECT str, row_number() over(ORDER BY ascii(str) ASC) rn FROM (SELECT substr(t.vals, tv.lv, 1) str FROM (SELECT '李富财a' AS vals, length('李富财a') AS cnt FROM dual s /* WHERE s.f = '李富财'*/) t JOIN temp0 tv ON tv.lv <= t.cnt)) START WITH rn = 1CONNECT BY rn - 1 = PRIOR rn;