Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle REGEX_SUBSTR berücksichtigt keine Nullwerte

Ich fürchte, Ihre akzeptierte Antwort behandelt nicht den Fall, in dem Sie den Wert nach der Nullposition benötigen (versuchen Sie, das 6. Feld zu erhalten):

SQL> select REGEXP_SUBSTR ('2035197553,2,S,14-JUN-14,,P', '[^,]*', 1, 6) phn_end
_dt
  2  from dual;

P
-

Sie müssen dies stattdessen tun, glaube ich (funktioniert auf 11g):

SQL> select REGEXP_SUBSTR ('2035197553,2,S,14-JUN-14,,P', '([^,]*)(,|$)', 1, 6,
NULL, 1) phn_end_dt
  2  from dual;

P
-
P

Ich habe das gerade entdeckt, nachdem ich meine eigene Frage gestellt hatte:REGEX zur Auswahl des n-ten Werts aus einer Liste, wobei Nullen zulässig sind