sql >> Base de Datos >  >> RDS >> Oracle

Tabla de relleno de rango

Puede utilizar lo siguiente:

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;

Supongo que su rango inicial y final tienen el mismo prefijo con formato (cadena || número)

db<>demostración de violín

¡¡Salud!!