Oracle 쉼표 분리 열 전환 실현 방법
다음은 이 방법의 예 시 를 제시한다.
select a,b,c from(with test as (select 'aaa' a,'bbb' b,'1,2,3' c from dual)select a,b,substr(t.ca,instr(t.ca, ',', 1, c.lv) + 1,instr(t.ca, ',', 1, c.lv + 1) - (instr(t.ca, ',', 1, c.lv) + 1)) AS c from (select a,b,',' || c || ',' AS ca,length(c || ',') - nvl(length(REPLACE(c, ',')), 0) AS cnt FROM test) t,(select LEVEL lv from dual CONNECT BY LEVEL <= 100) c where c.lv <= t.cnt )
위 코드 를 실행 합 니 다.결 과 는 다음 그림 과 같 습 니 다.
아 날로 그 데이터 열 c 의 내용 인'1,2,3'은 세 줄 로 바 뀌 었 고 앞의 두 열의 내용 은 동시에 첨부 되 었 다.실제 운용 할 때 는
select'aaa'a,'bbb'b,'1,2,3'c from dual 을 실제 변환 해 야 할 데이터 시트 의 필드 로 바 꾸 면 됩 니 다.그 중에서 c 필드 는 쉼표 구분 내용 을 저장 하 는 필드 로 변환 해 야 합 니 다.아래 의 내용 은 모두 변경 할 필요 가 없다.그 중에서'LEVEL<=100'의 숫자 100 은 일치 하 는 필드 내용 에 쉼표 가 나타 나 는 횟수 를 나타 내 므 로 스스로 변경 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Oracle 생성 향후 3일간의 전체 시점 (단계 상세)수요: X 좌표축 시간은 모두 정시 시간으로 앞으로 3일 동안의 예측을 보여준다(x 축은 앞으로 3일 동안의 정시 시간을 보여준다), 3시간마다 한 눈금, 가로 좌표는 모두 24개의 눈금을 보여준다 1단계: 현재 시...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.