Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment sélectionner une sous-chaîne dans Oracle SQL jusqu'à un caractère spécifique ?

L'utilisation d'une combinaison de SUBSTR, INSTR et NVL (pour les chaînes sans trait de soulignement) renverra ce que vous voulez :

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

Résultat :

output
------
ABC

Utiliser :

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

Référence :

  • SUBSTR
  • INSTR

Avenant

Si vous utilisez Oracle10g+, vous pouvez utiliser regex via REGEXP_SUBSTR.