Input: ORACLE
Output: ACELOR
This example shows how to split a string into characters and then reorder them using CONNECT BY and LISTAGG.
STEP 1
WITH d AS (
SELECT 'ORACLE' c FROM dual
)
SELECT c
FROM d
CONNECT BY LEVEL <= LENGTH(c);
Output:
ORACLE ORACLE ORACLE ORACLE ORACLE ORACLE
STEP 2
WITH d AS (
SELECT 'ORACLE' c FROM dual
)
SELECT SUBSTR(c, LEVEL, 1) e
FROM d
CONNECT BY LEVEL <= LENGTH(c);
Output:
O R A C L E
STEP 3
WITH d AS (
SELECT 'ORACLE' c FROM dual
)
SELECT LISTAGG(e, '') WITHIN GROUP (ORDER BY e ASC) col
FROM (
SELECT SUBSTR(c, LEVEL, 1) e
FROM d
CONNECT BY LEVEL <= LENGTH(c)
);
Output:
ACELOR
No comments:
Post a Comment