Oracle
 sql >> база данни >  >> RDS >> Oracle

Таблица за попълване на диапазони

Можете да използвате следното:

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;

Предполагам, че вашият начален и краен диапазон имат един и същ префикс с формат (низ||число)

db<>демонстрация на fiddle

Наздраве!!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да покажа всички привилегии на база данни на Oracle за потребител

  2. JUnit/HSQLDB:Как да заобиколите грешки със синтаксиса на Oracle при тестване с помощта на HSQLDB (без привилегия и/или без DUAL обект)

  3. OracleCommandBuilder.DeriveParameters() хвърля OracleException:ORA-06564:обектът не съществува ORA-06512:в SYS.DBMS_UTILITY

  4. Неочакван резултат от съпоставяне на множество набори в Oracle SQL

  5. Деклариране на променлива и задаване на нейната стойност от заявка SELECT в Oracle