Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:sql_regular_expression

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
prog:sql_regular_expression [2022/11/08 17:05] – [RegEx und ein Outer Join mit der (+) Syntax] gpipperrprog:sql_regular_expression [2022/11/08 17:11] – [RegEx und ein Outer Join mit der (+) Syntax] gpipperr
Zeile 449: Zeile 449:
 === String in Elemente zerlegen === === String in Elemente zerlegen ===
  
-In einer Log Tabelle sind Bestimmte Informationen in einer Liste aufgeführt die mit | getrennt ist.+In einer Log Tabelle sind in einer Spalte bestimmte Informationen in einer Liste aufgeführtdie mit | getrennt ist.
  
 Wie: " Column1:ValueA | Column2:ValueB | Column3:ValueC | Column4:ValueD | Column4:ValueE | " Wie: " Column1:ValueA | Column2:ValueB | Column3:ValueC | Column4:ValueD | Column4:ValueE | "
  
-Ziel ist es Value von Column3  zu extrahieren, wir brauchen alles zwischen den "|" und dann den dritten Match:+Ziel ist es den Wert von Column3 zu extrahieren, wir brauchen also alles jeweils zwischen den "|" und dann den dritten Match:
  
 <code sql> <code sql>
-  with data ( select 'Column1:ValueA | Column2:ValueB | Column3:ValueC | Column4:ValueD | Column4:ValueE |' from dual;+with data as  
 +   select 'Column1:ValueA | Column2:ValueB | Column3:ValueC | Column4:ValueD | Column4:ValueE |'  as log_val  
 +      from dual
   )   )
- select  from data; +select ltrim( 
- +           trim( 
-----+             regexp_substr(  
 +                 regexp_substr( a.log_val,'[^|]+',1,3) 
 +               ,'[:].+ ',1,
 +            ) 
 +          ),':'
 +        as Column3 
 +from  data a      
  
 </code> </code>
  
 +Der Trick dahinter ist es den String zu zerlegen mit Matches für eine Zeichenkette OHNE den "|" und den "3" Match herauszufiltern, diesen Teilstring dann bei ":" zu trennen und dann mit Trimmen dafür sorgen das Leerzeichen und das ":" verschwinden.
  
 ---- ----
prog/sql_regular_expression.txt · Zuletzt geändert: 2022/11/08 17:19 von gpipperr