Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle REGEX_SUBSTR ne respecte pas les valeurs nulles

J'ai bien peur que votre réponse acceptée ne gère pas le cas où vous avez besoin de la valeur après la position nulle (essayez d'obtenir le 6ème champ) :

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

P
-

Vous devez faire ceci à la place, je crois (fonctionne sur 11g):

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

P
-
P

Je viens de découvrir ceci après avoir posté ma propre question :REGEX pour sélectionner la nième valeur d'une liste, autorisant les valeurs nulles