Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como selecionar uma substring no Oracle SQL até um caractere específico?


Usar uma combinação de SUBSTR, INSTR e NVL (para strings sem sublinhado) retornará o que você deseja:
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output
  FROM DUAL

Resultado:

output
------
ABC

Usar:

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

Referência:

  • SUBSTR
  • INST

Adendo


Se estiver usando Oracle10g+, você pode usar regex via REGEXP_SUBSTR.