>데이터 베이스 >MySQL 튜토리얼 >Oracle SQL에서 특정 문자까지 하위 문자열을 추출하는 방법은 무엇입니까?

Oracle SQL에서 특정 문자까지 하위 문자열을 추출하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-28 13:30:15795검색

How to Extract Substrings in Oracle SQL Up to a Specific Character?

Oracle SQL에서 특정 문자까지 하위 문자열 선택

많은 데이터베이스 애플리케이션에서는 문자열의 일부만 선택해야 하는 경우가 많습니다. 특정 구분 기호를 기반으로 하는 문자열 열입니다. Oracle SQL에서는 SUBSTRING 함수의 위치 기반 특성으로 인해 특정 문자까지 하위 문자열을 추출하는 것이 어려울 수 있습니다. 이 문서에서는 지정된 구분 기호를 기반으로 하위 문자열을 정확하게 캡처하는 포괄적인 솔루션을 제시하여 이 문제를 해결합니다.

솔루션

하위 문자열을 지정된 문자까지 분리하려면 조합 SUBSTR, INSTR 및 NVL의 세 가지 기능을 사용할 수 있습니다. SUBSTR을 사용하면 시작 위치와 끝 위치를 기준으로 문자열의 일부를 추출할 수 있습니다. 반면 INSTR은 지정된 문자열 내에서 지정된 부분 문자열이나 문자의 위치를 ​​식별합니다. NVL은 대체 메커니즘으로 사용되어 지정된 문자를 찾을 수 없는 경우 원래 문자열을 반환합니다.

예를 들어 값이 있는 다음 테이블 열을 고려하세요.

ABC_blahblahblah
DEFGH_moreblahblahblah
IJKLMNOP_moremoremoremore

하위 문자열만 검색하려면 밑줄 문자까지 다음 쿼리를 사용할 수 있습니다.

SELECT NVL(SUBSTR(column, 0, INSTR(column, '_')-1), column) AS output
  FROM table_name;

이 쿼리에서 NVL 함수는 짝수 문자열을 보장합니다. 밑줄 문자가 없으면 원본과 함께 반환됩니다. 값.

참조

  • [SUBSTR](https://docs.oracle.com/cd/B28359_01/appd ev.111/b28396/functions148.htm#CHDBCHCJ)
  • [INSTR](https://docs.oracle.com/cd/B28359 _01/appdev.111/b28396/functions152.htm#CHDBCHCL)
  • [NVL](https://docs.oracle.com/cd/ B28359_01/appdev.111/b28396/functions060.htm#SQLRF00120)

추가

에서 Oracle10g 이상 버전에서는 정규 표현식을 사용하여 보다 유연한 하위 문자열 추출을 위해 REGEXP_SUBSTR 함수를 활용할 수 있습니다.

위 내용은 Oracle SQL에서 특정 문자까지 하위 문자열을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.