집 >데이터 베이스 >MySQL 튜토리얼 >Oracle에서 VARCHAR 열을 여러 열로 분할하려면 어떻게 해야 합니까?
Oracle에서 VARCHAR을 별도의 열로 분할
특정 구분 기호를 기준으로 VARCHAR 열을 별도의 열로 변환하는 작업은 고유한 과제를 제기합니다. 데이터베이스 관리 시스템에서. 이 질문은 문자열을 여러 부분으로 분할할 목적으로 결과 집합을 구조화한 후 열을 정의하는 가능성을 탐구합니다.
데이터 검색 및 변환
여기서 시나리오에서 입력 데이터는 특정 문자열 패턴이 있는 주석으로 구성됩니다. 목표는 이러한 주석을 두 개의 별도 열로 분할하여 주석의 첫 번째 섹션이 첫 번째 열에 표시되고 나머지 텍스트가 두 번째 열에 표시되는 것입니다. 예를 들어 검색된 값이 다음과 같은 경우:
COLUMN_ONE -------------------- 'D7ERROR username'
원하는 출력은 다음과 같습니다.
COL_ONE COL_TWO -------------------- D7ERROR username
SUBSTR 및 INSTR을 사용한 솔루션
데이터가 원하는 열 사이에 일관된 간격을 보인다고 가정하면 다음 쿼리는 다음과 같습니다. 사용됨:
SELECT SUBSTR(t.column_one, 1, INSTR(t.column_one, ' ')-1) AS col_one, SUBSTR(t.column_one, INSTR(t.column_one, ' ')+1) AS col_two FROM YOUR_TABLE t
이 쿼리는 SUBSTR 함수를 활용하여 첫 번째 공백 문자의 위치(INSTR에 의해 결정됨)를 기반으로 문자열 부분을 추출합니다. 결과는 구분 기호가 제거된 원하는 두 열입니다.
Oracle 10g 고급 기능
Oracle 10g 및 이후 버전의 경우 정규식을 사용하여 보다 유연한 옵션을 사용할 수 있습니다. (정규식). REGEXP_SUBSTR 함수는 강력한 패턴 일치 및 문자열을 허용합니다. 조작.
참고 자료:
위 내용은 Oracle에서 VARCHAR 열을 여러 열로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!