Database 프로그램이라는 놈은

문자열 가공할때가 종종있습니다.

문자을 가공하기 위한 명령을 정리해 보았습니다.

명령어

lv_string = '한글과 컴퓨터 좋은컴퓨터 나쁜컴퓨터'.

설명

문자열길이

lv_len = strlen( lv_string ) 

문자열의 길이를 돌려준다.[ Length = 19]

수량획득

find all occurrences of '컴퓨' in lv_string  match count lv_cnt.

[컴퓨]가 들어가 있는 수를 돌려준다. [ count = 3]

최초위치

획득

find  '컴퓨' in lv_string  match offset lv_off.

[컴퓨]가 들어가 있는 첫번째 위치. [offset = 4 ]

전체변경

replace all OCCURRENCES OF '컴' in lv_string with '콤' REPLACEMENT COUNT lv_cnt.

문자열중 [컴]을 모두 [콤]으로 변경해 준다.
총변경 수량을 알려준다. [count = 3]

최초변경

replace  '콤' in lv_string with '컴'.

문자열중 [콤]을 첫번째 검색된 항목만 [컴]으로 변경해 준다.

대소문자

변경

TRANSLATE lv_string TO UPPER CASE.
TRANSLATE lv_string TO LOWER CASE. 

문자열의 [대문자/소문자]로 변경시켜준다

condense[trim]

CONDENSE lv_string.

lv_string의 좌/우 빈공백을 잘라버린다.

공백없이

붙이기

CONCATENATE t1 t2 t3 INTO result. 

t1,t2,t3의 문자열을 [공백없이 바로 붙여준다.]

concatenate
(' ' 붙이기)

CONCATENATE t1 t2 t3 INTO result SEPARATED BY space. 

t1,t2,t3의 문자열을 space(' ')로 붙여준다.

concatenate
(그대로

 붙이기)

CONCATENATE t1 t2 t3 INTO result RESPECTING BLANKS.

t1,t2,t3의 문자열을 각 변수[t1,t2,t3]의 고유성질 그대로 붙여준다

move

[left]

move result+0(10) to lv_string.

result의 좌측으로 부터 10개의 문자를 득함.

move

[mid]

move result+10(10) to lv_string.

result의 좌측으로 부터 10번재부터 10개의 문자를 득함.

move

[right]

lv_off = 10.
lv_cnt  = strlen( result ).
lv_int = lv_cnt - lv_off.
move result+lv_int(lv_off)  to lv_string.

result의 우측으로부터 10개의 문자를 득함

split[]
(문자열

 arrange)

DATA : NAME(20) VALUE ',a,b',
          first type string,
          second type string.
SPLIT NAME at ',' INTO: first  second.

콤마를 기준으로 배열로 입력한다.

SHIFT

(시스템

 부하큼)

SHIFT first.
SHIFT first RIGHT.
SHIFT first CIRCULAR.
SHIFT first BY 3 PLACES.

좌측으로 SHIFT.
우측으로 SHIFT.
좌측에서 우측으로 채우면서 SHIFT
좌측으로 3만큼 이동한다.