sql >> Databasteknik >  >> RDS >> Oracle

Få värde mellan 2:a och 3:e kommatecken

select 
  regexp_substr('2901 MAIN ST,CORNING,NY,14830', '(.*?,){2}(.*?),', 1, 1, '', 2) 
from dual

I allmänhet

n_th_component := 
  regexp_substr(string, '(.*?,){'||(n-1)||'}([^,]*)', 1, 1, '', 2);

Exempel:

select 
  n,  
  regexp_substr('2901 MAIN ST,CORNING,NY,14830', 
                '(.*?,){'||(n-1)||'}([^,]*)', 1, 1, '', 2)
from (select level n from dual connect by level <= 4)


  1. A-tecken (&) ignoreras i Oracle ORDER BY

  2. Analysfel:syntaxfel, oväntat (T_VARIABLE)

  3. Hur installerar man pyodbc 64-bitars?

  4. Hur man fixar 508 Resource Limit nås i PHP MySQL