티스토리 뷰
반응형
안녕하세요.
인포믹스에서 문자열을 구분자로 나누는 regex_split 함수 기능을 테스트 해봤습니다.
SQL 구문은 아래와 같이 사용합니다.
select * from table(function regex_split('SMITH,ALLEN,WARD,JONES',',')) as list (name);
name SMITH
name ALLEN
name WARD
name JONES
처음 regex_split 함수를 호출하면 datablade 모듈이 설치되는 것을 online 로그 메시지에서 확인할 수 있습니다.
08/02/19 16:42:52 INFO (autoregexe 5) (EXECUTE FUNCTION sysbldprepare ('ifxregex.*', 'create'))
08/02/19 16:42:52 Loading Module <$INFORMIXDIR/extend/ifxmngr/ifxmngr.bld>
08/02/19 16:42:52 The C Language Module </work2/INFORMIX/1210FC10WE/extend/ifxmngr/ifxmngr.bld> loaded
08/02/19 16:42:57 Logical Log 843 Complete, timestamp: 0x2c72e48.
08/02/19 16:42:58 Loading Module <$INFORMIXDIR/extend/ifxregex.1.00/ifxregex.bld>
08/02/19 16:42:58 The C Language Module </work2/INFORMIX/1210FC10WE/extend/ifxregex.1.00/ifxregex.bld> loaded
프로시저를 사용한다면 아래처럼 인자로 변수리스트를 받아 처리하면 될 것 같네요.
CREATE PROCEDURE customer_details(v_list CHAR(30))
...
select customer_num, fname
into v_customer_num, v_fname
from customer
where customer_num in
select * from table(function regex_split(v_list,',')) as list (value);
...
END PROCEDURE;
regex_split 함수 기능은 인포믹스 12.10.xC8 이상의 버전부터 지원됩니다.
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.dbext.doc/ids_dbxt_557.htm
반응형
댓글
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday