sql >> Database teknologi >  >> RDS >> Oracle

Oracle REGEX_SUBSTR respekterer ikke null-værdier

Jeg er bange for, at dit accepterede svar ikke håndterer det tilfælde, hvor du har brug for værdien efter nul-positionen (prøv at få det 6. felt):

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

P
-

Du skal gøre dette i stedet tror jeg (virker på 11g):

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

P
-
P

Jeg har lige opdaget dette efter at have postet mit eget spørgsmål:REGEX for at vælge n'te værdi fra en liste, hvilket giver mulighed for nuller



  1. MySQL runder datoen til starten af ​​ugen og måneden

  2. Sådan håndteres MySQL tidszone i script

  3. lokal postgres db bliver ved med at give fejl duplikatnøgleværdi overtræder unik begrænsning

  4. Sådan fungerer DATE_ADD() i MariaDB