sql >> Database >  >> RDS >> Oracle

Hoe een substring selecteren in Oracle SQL tot een specifiek teken?

Het gebruik van een combinatie van SUBSTR, INSTR en NVL (voor strings zonder een onderstrepingsteken) geeft terug wat je wilt:

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

Resultaat:

output
------
ABC

Gebruik:

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

Referentie:

  • SUBSTR
  • INSTR

Aanvulling

Als u Oracle10g+ gebruikt, kunt u regex gebruiken via REGEXP_SUBSTR.



  1. FORMAT() is leuk en zo, maar...

  2. Selecteer het aantal rijen in een andere tabel in een Postgres SELECT-instructie

  3. ROW_NUMBER() in MySQL

  4. JDBC-batchbewerkingen begrijpen