안녕하세요.
인포믹스에서 문자열을 구분자로 나누는 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 모듈이 설치되는 것을 로그 메시지에서 확인할 수 있습니다.
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
'Informix > informix reference' 카테고리의 다른 글
Informix의 파티션 테이블에서 rowid 참조하기 (0) | 2020.01.03 |
---|---|
Informix 무료 버전 14.10.xC2의 제한 사항 완화 (0) | 2019.11.29 |
How to enable JDBC tracing starting with JDBC version 3.0.x (0) | 2019.05.19 |
Onbar에서 사용되는 XBSA API 설명 (0) | 2019.05.19 |
Primary/Mirror Chunk 교체하기 (0) | 2019.04.11 |