sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo seleccionar una subcadena en Oracle SQL hasta un carácter específico?

El uso de una combinación de SUBSTR, INSTR y NVL (para cadenas sin guión bajo) devolverá lo que desea:

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

Referencia:

  • SUBSTR
  • INSTR

Anexo

Si usa Oracle10g+, puede usar expresiones regulares a través de REGEXP_SUBSTR.