Oracle SQL을 사용하여 구분 기호 위치별로 문자열 분할
다른 게시물과 유사하게, 요구 사항은 문자열을 가장 먼 문자로 분할하는 것입니다. 구분 기호. 여기서 중요한 차이점은 구분 기호가 항상 첫 번째 인스턴스가 아니라 가장 먼 인스턴스라는 것입니다.
이를 달성하려면 SUBSTR 및 INSTR 함수를 활용할 수 있습니다. Instr(str, '/', -1, 1)은 가장 먼 구분 기호의 위치를 찾고, -1은 문자열의 끝부터 처음부터 검색을 시작함을 나타냅니다.
그런데 다음에서 오류가 발생했습니다. INSTR 함수에 start_position이 없기 때문에 제공된 예입니다. start_position = -1을 추가하면 INSTR 함수가 가장 먼 구분 기호를 찾아서 그에 따라 문자열을 분할합니다.
수정된 코드는 다음과 같습니다.
WITH DATA AS ( SELECT 'F/P/O' str FROM dual ) SELECT SUBSTR(str, 1, Instr(str, '/', -1, 1) -1) part1, SUBSTR(str, Instr(str, '/', -1, 1) +1) part2 FROM DATA
이러한 변경을 통해 코드가 정확하게 분할됩니다. 원하는 구분 기호 위치에 있는 문자열로, 해당 문자열에 대해 "F/P" 및 "O"가 올바르게 출력됩니다. "F/P/O".
위 내용은 Oracle SQL에서 구분 기호가 가장 많이 나타날 때 문자열을 어떻게 분할할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!