编辑:得到了通用的。最终真的很简单(但是花了我一段时间才到达那里)
WITH words AS( SELECt REGEXP_SUBSTr( '&txt', 'S+', 1, LEVEL ) AS word , LEVEL AS num FROM DUAL ConNECT BY LEVEL <= LENGTH( REGEXP_REPLACe( '&txt', 'S+s*', 'X' ) ))SELECT SYS_CONNECT_BY_PATH( W.word, ' ' )FROM words WConNECT BY NOCYCLE PRIOR W.num != W.num
Edit2:删除了多余的maxnum东西。先前尝试遗留下来的



