집 >데이터 베이스 >MySQL 튜토리얼 >Oracle SQL에서 밑줄 앞에 부분 문자열을 추출하는 방법은 무엇입니까?
문자열 내의 문자 위치를 식별하는 것은 데이터 조작에서 일반적인 문제가 될 수 있습니다. 이 문제를 해결하기 위해 질문에서는 테이블 열에서 특정 문자(이 경우 밑줄('_'))까지의 하위 문자열을 추출해야 하는 시나리오를 탐색합니다.
SUBSTRING 함수를 사용하는 초기 접근 방식은 위치 기반 선택에 의존하기 때문에 충분하지 않은 것으로 나타났습니다. 주어진 예에서 밑줄의 위치가 다르기 때문에 이 방법은 원하는 하위 문자열을 일관되게 검색하지 못합니다.
RTRIM 함수에 대한 고려 사항은 다음과 같습니다. 오른쪽에서 특정 문자 세트를 제거하면 처음에는 유망해 보입니다. 그러나 RTRIM 함수를 다른 방법과 함께 사용하지 않는 한 밑줄까지 이어지는 문자를 분리하는 데는 부족합니다.
해결책은 다음과 같습니다. SUBSTR 함수를 문자의 위치를 식별하는 INSTR과 null 값을 처리하는 NVL과 결합합니다. 다음 코드는 이 접근 방식을 보여줍니다.
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output FROM DUAL
위 내용은 Oracle SQL에서 밑줄 앞에 부분 문자열을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!