sql >> Database >  >> RDS >> Oracle

Oracle - string combinatorische permutatie

Edit:heb de generieke. Uiteindelijk heel eenvoudig (maar het kostte me een tijdje om er te komen)

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   W
CONNECT BY NOCYCLE PRIOR W.num != W.num

Edit2:overbodige maxnum-dingen verwijderd. Overgebleven van eerdere pogingen




  1. Hoe kan ik een round robin-toernooi genereren in PHP en MySQL?

  2. hoe de join-tabel opvragen met slaapstand?

  3. Fout:Incompatibele tekencoderingen:UTF-8 en ASCII-8BIT

  4. Hoe krijg ik een lijst van alle tabellen in een database met TSQL?