Errore: ORA-00907: parentesi destra mancante: puoi aiutare a risolvere il problema
Aug 24 2020
select regexp_substr((replace(replace(replace(('CA','CO','IL','KS'),chr(40)),chr(41)), chr(39))), '[^,]+', 1, level) as division from dual
connect by level <= regexp_count(('CA','CO','IL','KS'), '[,]') + 1;
ERRORE: ORA-00907: parentesi destra mancante 00907. 00000 - "parentesi destra mancante"
Puoi aiutarmi a capire perché si sta verificando un errore.
MODIFICA - Non posso manipolare la stringa per avere virgolette extra lì dentro. Questo è un formato fisso che ottengo da una tabella. Come posso rimuoverlo per ottenere un output in formato riga?
Risposte
1 BarbarosÖzhan Aug 24 2020 at 21:46
Hai un problema di citazione ( cita l'intero termine ('CA','CO','IL','KS')
dopo aver aggiunto virgolette extra per ogni singola citazione ), prova questo piuttosto:
SELECT regexp_substr((replace(replace(replace('(''CA'',''CO'',''IL'',''KS'')',
chr(40)),
chr(41)),
chr(39))), '[^,]+', 1, level) AS division
FROM dual
CONNECT BY level <= regexp_count('(''CA'',''CO'',''IL'',''KS'')', ',') + 1;
DIVISION
--------
CA
CO
IL
KS
Demo