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

Come selezionare una sottostringa in Oracle SQL fino a un carattere specifico?

L'utilizzo di una combinazione di SUBSTR, INSTR e NVL (per stringhe senza trattino basso) restituirà ciò che desideri:

SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output
  FROM DUAL

Risultato:

output
------
ABC

Usa:

SELECT NVL(SUBSTR(t.column, 0, INSTR(t.column, '_')-1), t.column) AS output
  FROM YOUR_TABLE t

Riferimento:

  • SUBSTR
  • STRUMENTO

Addendum

Se utilizzi Oracle10g+, puoi usare regex tramite REGEXP_SUBSTR.