Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Tabela de preenchimento de intervalo


Você pode usar o seguinte:
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;

Estou assumindo que seu intervalo inicial e final tem o mesmo prefixo com format(string||number)

db<>demonstração de violino

Felicidades!!