SPLIT 함수  : 여러 필드로 문자열을 구분자를 기준으로 나누는 문

: 하나의 문자열을 여러개의 필드로 분리하고 싶을 때 사용


DATA: mystring(30),
      a1(10),
      a2(10),
      a3(10),
      sep2(2) VALUE '**'.

 

- mystring: 전체 문자열 (30자)

- a1, a2, a3: 나눠 담을 각 필드 (10자씩)

- sep2: 구분자로 사용할 문자열, '**'

 

예제 - 기본 나누기

mystring = ' 01234**ABCD**6789'.
SPLIT mystring AT sep2 INTO a1 a2 a3.

 

변수 내용

a1 ' 01234'
a2 'ABCD'
a3 '6789'

모든 필드의 길이는 10이기 때문에 남은 공간은 자동으로 공백으로 채워짐

 

 

만약 필드 수보다 많은 분할을 한다면?

 

mystring = ' 01234**ABCD**6789**XYZ'.
SPLIT mystring AT sep2 INTO a1 a2 a3.

- **가 3번 등장하기 때문에 4개로 나뉘어야 하지만, a1, a2, a3 3개의 필드만 선언되어있음

 

  • 분리할 항목 수 > 필드 수인 경우 → 마지막 필드에 나머지 전부가 저장됨
  • 마지막 필드의 크기를 초과할 경우 → 잘림(Truncated)

+ Recent posts