sql >> Databasteknik >  >> RDS >> Oracle

Hur man väljer en delsträng i Oracle SQL upp till ett specifikt tecken?

Om du använder en kombination av SUBSTR, INSTR och NVL (för strängar utan understreck) returneras det du vill ha:

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

Resultat:

output
------
ABC

Använd:

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

Referens:

  • SUBSTR
  • INSTR

Tillägg

Om du använder Oracle10g+ kan du använda regex via REGEXP_SUBSTR.



  1. Frågor att ställa innan du startar en databas

  2. postgresql migrerar JSON till JSONB

  3. Gruppera rader med hjälp av grupp efter klausul i MySQL

  4. Hur man kontrollerar om en T-SQL UDF är schemabunden (även när den är krypterad)