sql >> Database >  >> RDS >> Oracle

Extraheer de n-de subtekenreeks

De vierde parameter van REGEX_SUBSTR is het genaamde occurence . Je hoeft alleen maar het voorkomen in te stellen dat je voor elke kolom wilt zien:

CREATE TABLE T (id varchar2(30));
INSERT INTO T VALUES ('0234-RDRT-RS111-M-EU');
INSERT INTO T VALUES ('0234-RDRT-RSD123-M-EU');

SELECT regexp_substr(id,'[^-]+',1,1) as col1,
       regexp_substr(id,'[^-]+',1,2) as col2,
       regexp_substr(id,'[^-]+',1,3) as col3,
       regexp_substr(id,'[^-]+',1,4) as col4,
       regexp_substr(id,'[^-]+',1,5) as col5
  FROM t;

COL1    COL2    COL3    COL4    COL5
0234    RDRT    RS111   M   EU
0234    RDRT    RSD123  M   EU

Zie REGEX_SUBSTR in de documentatie van Oracle voor meer details.



  1. PDO bindValue met \PDO::PARAM_BOOL zorgt ervoor dat de uitvoering van de instructie stil mislukt

  2. Rijversie en prestaties

  3. Oracle/SQL - Tellingen combineren van 'niet-gerelateerde' niet-gerelateerde tabellen

  4. Opgeslagen procedure aanroepen vanuit java voor Oracle type TABLE