sql >> Databasteknik >  >> RDS >> Oracle

Generera alla möjliga kombinationer av strängar av viss längd i orakel

Du behöver inte PL/SQL för att generera en alfabetisk sekvens. Du kan göra det i ren SQL med Row Generator metod.

WITH combinations AS
  (SELECT chr( ascii('A')+level-1 ) c FROM dual CONNECT BY level <= 26
  )
SELECT * FROM combinations
UNION ALL
SELECT c1.c || c2.c FROM combinations c1, combinations c2
UNION ALL
SELECT c1.c
  || c2.c
  || c3.c
FROM combinations c1,
  combinations c2,
  combinations c3
/

Ovanstående skulle ge dig alla möjliga kombinationer c1 , c2 , c3 för enstaka och två tecken. För fler kombinationer kan du bara lägga till kombinationer som c4 , c5 etc.



  1. sqlalchemy:ordning på frågeresultat oväntat

  2. Visa rader från MySQL där en datetime ligger inom den närmaste timmen

  3. Så här ser du PL/SQL-lagrade funktioner i Oracle

  4. Överträdelse av integritetsbegränsning:1048 Kolumnen "taggable_id" kan inte vara null