codestory

Ein durch Komma getrenntes String teilen und in die IN Klausel vom Statement Select in Oracle weitergeben

  1. Example

1. Example

Sie haben ein String in die einigen Fällen, zum Beispiel:
'KING,JONES,FORD'
Sie möchten es zum Befehl Select umwechseln und das Ergebnis wie folgend zurückgeben
Mit Oracle > 9 können Sie den Befehl SQL wie folgend schreiben:
-- ORACLE > 9.x

 Select Regexp_Substr('KING,JONES,FORD'
                     ,'[^,]+'
                     ,1
                     ,Level) Emp_Name
 From   Dual
 Connect By Regexp_Substr('KING,JONES,FORD'
                         ,'[^,]+'
                         ,1
                         ,Level) Is Not Null;
Die Name der Mitarbeiter in String finden, die durch das Komma getrennt werden
Select * From Employee Emp
Where
Emp.Emp_Name In ('KING','JONES','FORD');
Sie sollen 2 miteinander eingenischten Befehlen kombinieren
Select *
From   Employee Emp
Where  Emp.Emp_Name In
      (Select Regexp_Substr('KING,JONES,FORD'
                           ,'[^,]+'
                           ,1
                           ,Level) Emp_Name
       From   Dual
       Connect By Regexp_Substr('KING,JONES,FORD'
                               ,'[^,]+'
                               ,1
                               ,Level) Is Not Null);
Das Ergebnis der Durchführung des Befehl