집 >데이터 베이스 >MySQL 튜토리얼 >Oracle에서 VARCHAR 값을 여러 열로 분할하려면 어떻게 해야 합니까?
Oracle에서 VARCHAR 값을 별도의 열로 분할
일반적인 데이터베이스 변환 요구 사항을 해결하기 위해 사용자는 VARCHAR 값을 별도의 열로 구문 분석하는 방법을 찾는 경우가 많습니다. 열. 일반적인 시나리오에는 각 주석이 특정 문자열로 시작하는 테이블에서 주석을 가져오는 작업이 포함되며, 목표는 주석을 두 개의 개별 열로 분리하는 것입니다.
예를 들어 다음과 같은 반환 값을 고려하세요.
COLUMN_ONE -------------------- 'D7ERROR username'
원하는 출력 위치:
COL_ONE COL_TWO -------------------- D7ERROR username
결과 세트 후에 열 정의가 가능합니까? 구조화?
핵심 질문은 결과 집합이 구조화된 후 새 열을 정의하는 것이 가능한지 여부에 있습니다. 대답은 데이터의 일관성에 따라 달라집니다.
일관된 구분 기호를 위한 솔루션
원하는 두 값 사이에 일관된 구분 기호(예: 단일 공백)가 있다고 가정하면 다음 쿼리를 사용할 수 있습니다.
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
이 쿼리는 다음 항목이 처음 나타나는 것을 기준으로 문자열을 분할합니다. 공백 문자.
복잡한 구분 기호를 위한 정규식 솔루션
더 복잡한 시나리오의 경우 Oracle 10g 이상 버전에서는 정규식 지원과 정규식 하위 문자열 기능을 제공합니다. 이는 가변 데이터 패턴을 처리하는 데 더 큰 유연성을 제공합니다.
추가 참고 자료:
위 내용은 Oracle에서 VARCHAR 값을 여러 열로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!