집 >데이터 베이스 >MySQL 튜토리얼 >Oracle SQL에서 특정 문자까지 하위 문자열을 추출하는 방법은 무엇입니까?
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 함수는 짝수 문자열을 보장합니다. 밑줄 문자가 없으면 원본과 함께 반환됩니다. 값.
참조
추가
에서 Oracle10g 이상 버전에서는 정규 표현식을 사용하여 보다 유연한 하위 문자열 추출을 위해 REGEXP_SUBSTR 함수를 활용할 수 있습니다.
위 내용은 Oracle SQL에서 특정 문자까지 하위 문자열을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!