Oracle
 sql >> Base de données >  >> RDS >> Oracle

Tableau de remplissage de plage

Vous pouvez utiliser les éléments suivants :

SELECT
    DISTINCT PREFIX || ( START_RANGE + LEVEL - 1 )
FROM
    (
        SELECT
            REGEXP_SUBSTR(START_RANGE, '^[[:alpha:]]+') AS PREFIX,
            REGEXP_SUBSTR(START_RANGE, '\d+$') AS START_RANGE,
            REGEXP_SUBSTR(END_RANGE, '\d+$') AS END_RANGE
        FROM
            TEST
    )
CONNECT BY
    LEVEL <= END_RANGE - START_RANGE + 1
ORDER BY 1;

Je suppose que votre plage de début et de fin a le même préfixe avec format(string||number)

db<>démo violon

Bravo !